using System.Reflection; namespace ArgumentsToolkit.Help; /// /// Сборщик информации о параметрах из модели Options. /// public static class HelpCollector { /// /// Собирает метаданные о параметрах из указанной модели Options. /// public static HelpModel Collect() { var model = new HelpModel(); var props = typeof(T).GetProperties(); foreach (var prop in props) { var opt = prop.GetCustomAttribute(); if (opt == null) continue; model.Entries.Add(new HelpEntry { Name = opt.Name, ShortName = opt.ShortName, Description = opt.Description, TypeName = prop.PropertyType.Name, Required = opt.Required, DefaultValue = opt.DefaultValue }); } return model; } }