有人知道查看 C# 编译器为委托(delegate)生成的代码的工具吗?
我要验证以下内容
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 .
编辑:现在,您的问题确实有道理。你还在找 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/