是否可以获取类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 中的反射