如何获取父类的子类列表



是否可以获取类Parent的类名列表和类ChildA中的字段名列表:

我创建了这个类来定义配置代码(因为我不想使用字符串,它不稳定且难以管理):

public class CodeConfiguration
    {
        public class ModuleA
        {
            public const string GroupA = "ProvinCode";
            public const string GroupB = "CountryCode";
        }
        public class ModuleB
        {
            public const string GroupC = "ImportStatus;
            public const string GroupD = "ExecuteStatus";
        }
    }

在数据库中,我的数据表如下

Module  Group   Code    Name
ModuleA GroupA  1       100
ModuleA GroupB  2       1001
ModuleB GroupC  1       Imported
ModuleB GroupD  2       Failed

所以现在我需要获取Module组合框和Group组合框的数据我的预期结果:

模块组合框:{"ModuleA","ModuleB}模块 A 的组组合框:{"GroupA","GroupB"}

您可以使用以下内容获取嵌套类名的列表:

var nestedClasses = typeof(CodeConfiguration)
    .GetNestedTypes()
    .Select(_ => _.Name)
    .ToList();

如果要包含私有嵌套类,请将BindingFlags.Public | BindingFlags.NonPublic作为参数传递给.GetNestedTypes()方法。

获取字段名称列表:

var fieldNames = typeof(CodeConfiguration.ModuleA)
    .GetFields()
    .Select(_ => _.Name)
    .ToList();

若要包含私有字段,请将BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance作为参数传递给.GetFields()方法。


另请参见 .NET Framework 中的反射

相关内容

  • 没有找到相关文章

最新更新