試圖理解鑄造和繼承。我有這兩個非常簡單的類:鑄造到基類
class BaseClass
{
public virtual void Print()
{
Console.WriteLine("Base");
}
}
class DerivedClass : BaseClass
{
public override void Print()
{
Console.WriteLine("Derived");
}
}
當我執行下面的代碼時,它打印「派生」。
var derived = new DerivedClass();
((BaseClass)derived).Print();
然而
bool isBase = derived is BaseClass;
返回true。如果派生的是現在的類型BaseClass,爲什麼從BaseClass的方法打印不被調用?
好吧,我明白了。謝謝 – PaulP
和最好的事情是你有[在Jon Skeet鏈接的問題上的回答](http://stackoverflow.com/a/15140951/961113) – Habib