У меня объявлен следующий класс. Мне нужно получить структуру класса и статические значения, не создавая ее.
public class MyClass()
{
public static string field = "Value";
public class nestedClass()
{
public static string nestedField = "NestedValue";
}
}
Я успешно использовал GetFields и GetNestedType для восстановления структуры класса, и GetValue (null) отлично работает на поле, но не на nestedField.
Позвольте мне образец:
var fi = typeof(MyClass).GetField("field", BindingFlags.Public | BindingFlags.Static);
var nt = typeof(MyClass).GetNestedType("nestedClass", BindingFlags.Public);
var nfi = nt.GetField("nestedField", BindingFlags.Public | BindingFlags.Static);
// All the above references are detected correctly
var value = fi.GetValue(null); // until here everything works fine. value == "Value"
var nestedValue = nfi.GetValue(null); // this one does not work!!
Кто-нибудь знает, почему не работает последняя строка и как ее обойти?
Спасибо.