0

我使用 .Net Reflector 反编译了委托。我发现它继承自 System.MulticastDelegate 。并且 System.MulticastDelegate 的构造函数有两个参数,即“对象”和“方法”。但是使用 sos.dll,我怎样才能得到具体的他们的价值?我是新人,我想看看具体的价值(他们的类型属于价值类型。在我看来,所有对象都是由价值类型组成的)

4

1 回答 1

0

1 - 要使用 SOS 查找方法参数,请运行 !clrstack -a。或者,您可以使用 sosex.dll 并运行 !mdv 或 !mk -a。您还可以使用 !sos.dso 或 !sosex.mdso 在堆栈上查找对象。如果您有 System.MulticastDelegate 的实例并想要检查字段,请使用 !sos.do (!DumpObj) 或 !sosex.mdt。

2 - 并非所有对象都派生自 ValueType。所有对象实际上都是从 System.Object 派生的。从 System.ValueType 派生的所有类型都称为“值类型”。事实上,甚至 System.ValueType 都是从 System.Object 派生的,但它们被运行时视为特殊的。

于 2012-04-06T12:28:11.780 回答