我有这个嵌套的静态类
public static class UserRoles
{
public static class Administrator
{
public static string Code => "ADMIN";
public static string Title => "Administrator";
}
public static class ClientUser
{
public static string Code => "CU";
public static string Title => "Client User";
}
public static class Driver
{
public static string Code => "DR";
public static string Title => "Driver";
}
}
我正在尝试迭代UserRoles
的属性,但失败了。我尝试使用System.Reflection
,我认为这是解决该问题的唯一合适方法。
我已经尝试过将GetFields
与绑定和GetProperties
一起使用,但是很遗憾,它无法正常工作。
var fields = myType.GetFields(BindingFlags.Static | BindingFlags.NonPublic);
我已经检查了其他问题,但是我没有发现任何针对此非常基本和常见情况的问题。请让我知道这是否是任何重复项。
任何帮助将不胜感激。
您可以为此使用GetNestedTypes
方法>>
GetNestedTypes
它返回
var userRoles = typeof(UserRoles).GetNestedTypes().SelectMany(t => t.GetProperties());
中每个嵌套类的属性的枚举。
但是如果要存储一些信息,例如键和值集,则UserRoles
比静态嵌套类更好。看看下面的例子
Dictionary<TKey,TValue>