我有一個包含大量靜態類的靜態類。每個內部靜態類都包含字段。我想獲得所有內部靜態類的所有字段。從靜態類內使用反射獲取所有字段
public static class MyClass
{
public static class MyInnerClass1
{
public const string Field1 = "abc";
public const string Field2 = "def";
public const string Field3 = "ghi";
}
public static class MyInnerClass2
{
public const int Field1 = 1;
public const int Field2 = 2;
public const int Field3 = 3;
}
...
}
我想打印出每個內部類的名稱,後面跟着每個字段的名稱和值。
例如:
MyInnerClass
字段1 = 「ABC」
...
我有一個讓所有的類的名字沒問題:
var members = typeof(MyClass).GetMembers(BindingFlags.Public | BindingFlags.Static);
var str = "";
foreach (var member in members)
{
str += member.Name +" ";
}
或者名稱及所有字段的值,在一個特定的類:
var fields = typeof(MyClass.MyInnerClass1).GetFields();
foreach (var field in fields)
{
str += field.Name + "-";
str += field.GetValue(typeof(MyClass.MyInnerClass1));
}
但我怎麼結合呢? 內部靜態類的名稱和數量可能會更改。