public class Test
{
public int a = 2;
public static int b = 5;
public struct C
{
public int d = 9;
public static int e = 7;
}
}
new Test().Dump();
上面的代码将转储新创建的对象并将a
作为属性列出,但不会列出b
或嵌套的静态结构C
或其中的任何内容。
如果我有很多自动生成的静态属性,我该如何转储所有内容?
发布于 2019-01-15 08:11:41
反射作品
typeof(Test)
.GetFields(BindingFlags.Static | BindingFlags.Public)
.Select(f => new { name = f.Name, value = f.GetValue(null)})
.Dump();
发布于 2011-03-29 12:44:34
静态实例变量不是您正在创建的"new Test()“实例的一部分。它们是Test类的静态实例的一部分。您可以阅读有关静态类和静态类成员here的内容。
您可以使用以下命令查看静态变量
(Test.b).Dump();
(Test.C.e).Dump();
希望这能有所帮助。
https://stackoverflow.com/questions/5467671
复制相似问题