Source Code:
public event MethodInvoker MyEvent;
Decompile Code:
public event MethodInvoker MyEvent
{
add
{
MethodInvoker invoker2;
MethodInvoker myEvent = this.MyEvent;
do
{
invoker2 = myEvent;
MethodInvoker invoker3 = (MethodInvoker) Delegate.Combine(invoker2, value);
myEvent = Interlocked.CompareExchange<MethodInvoker>(ref this.MyEvent, invoker3, invoker2);
}
while (myEvent != invoker2);
}
remove
{
MethodInvoker invoker2;
MethodInvoker myEvent = this.MyEvent;
do
{
invoker2 = myEvent;
MethodInvoker invoker3 = (MethodInvoker) Delegate.Remove(invoker2, value);
myEvent = Interlocked.CompareExchange<MethodInvoker>(ref this.MyEvent, invoker3, invoker2);
}
while (myEvent != invoker2);
}
}
There are so many errors
public event MethodInvoker MyEvent;
Decompile Code:
public event MethodInvoker MyEvent
{
add
{
MethodInvoker invoker2;
MethodInvoker myEvent = this.MyEvent;
do
{
invoker2 = myEvent;
MethodInvoker invoker3 = (MethodInvoker) Delegate.Combine(invoker2, value);
myEvent = Interlocked.CompareExchange<MethodInvoker>(ref this.MyEvent, invoker3, invoker2);
}
while (myEvent != invoker2);
}
remove
{
MethodInvoker invoker2;
MethodInvoker myEvent = this.MyEvent;
do
{
invoker2 = myEvent;
MethodInvoker invoker3 = (MethodInvoker) Delegate.Remove(invoker2, value);
myEvent = Interlocked.CompareExchange<MethodInvoker>(ref this.MyEvent, invoker3, invoker2);
}
while (myEvent != invoker2);
}
}
There are so many errors