有没有人知道查看C#编译器生成的委托代码的工具?
我想验证以下内容
class X
{
public event D Ev;
}
Run Code Online (Sandbox Code Playgroud)
编译为:
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; }
}
}
}
Run Code Online (Sandbox Code Playgroud)
你的问题毫无意义,但你可能正在寻找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;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1785 次 |
最近记录: |