有人知道查看C编译器为委托生成的代码的工具吗?
我想核实一下
class X
{
public event D Ev;
}
它被编译为:
class X
{
private D __Ev; // field to hold the delegate
public event D Ev {
add {
lock(this) { __Ev = __Ev + value; }
}
remove {
lock(this) { __Ev = __Ev – value; }
}
}
}
最佳答案
你的问题毫无意义,但你可能在寻找Reflector。
编辑:现在,你的问题是有道理的。你还在找反光镜。
但是,您需要在“选项”中将“优化”设置为“无”。
它揭示了,
private EventHandler<MyEventArgs> MyEvent;
public event EventHandler<MyEventArgs> MyEvent
{
[MethodImpl(MethodImplOptions.Synchronized)] add
{
this.MyEvent = (EventHandler<MyEventArgs>) Delegate.Combine(this.MyEvent, value);
return;
}
[MethodImpl(MethodImplOptions.Synchronized)] remove
{
this.MyEvent = (EventHandler<MyEventArgs>) Delegate.Remove(this.MyEvent, value);
return;
}
}
关于c# - 查看编译器生成的代码的工具,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2189342/