我在想,如果我这样做:
class A
{
public MethodA()
{
}
public MethodB()
{
ExternalObject.Click += this.MethodA;
}
public MethodC()
{
ExternalObject.Click -= this.MethodA;
}
}
A a = new A();
a.MethodB();
a.MethodC();这样行得通吗?我所说的“工作”是指-- MethodA会被取消订阅ExternalObject.Click event吗?
以及其他相关问题:
当使用实例方法而不是委托实例时,幕后会发生什么?(如上图)
这会导致隐式创建委托吗?
-=运算符如何执行委托之间的比较-通过引用,或者可能发生更复杂的事情?
发布于 2011-11-15 20:59:08
是,MethodA将被取消订阅。
关于第二个问题,我不是100%确定,但我认为= this.MethodA在后台转换为一个代理。
https://stackoverflow.com/questions/8136609
复制相似问题