3
在準備調用具有參數的方法時,如果在堆棧頂部引用(B)的實例(其中B是類,從A派生),是否需要發出OpCode.CastClass(typeof(A)) A型?OpCodes.Castclass。有必要嗎?
增加:
interface IFoo
{
void IFoo();
}
public class A:IFoo
{
public void IFoo()
{
}
}
public class B:A,IFoo
{
new public void IFoo()
{
}
}
var b = new B();
(b as IFoo).Foo();
((b as A) as IFoo).Foo();
當你忽略它並運行發出的代碼會發生什麼? – dtb 2011-06-07 12:56:44
在兩種方式(發出|不發出)一切工作正常。 – Kelqualyn 2011-06-07 12:59:24
所以答案是:不,這是沒有必要的。 – dtb 2011-06-07 13:01:29