让我们假设以下类结构具有基类BC和2个派生类DC_A和DC_B; 此外,还有一个XY类,带有一个带有BC类型参数和其他方法的methode goo()
// base class
public class BC
{
public virtual void foo();
}
// derived class A
public class DC_A : BC
{
public override void foo() {}
}
// derived class B
public class DC_B : BC
{
public override void foo() {}
}
public class XY
{
public void goo(BC o)
{
// perfectly fine using polymorphism; no Ifs' no casting, OOP at its best ;-)
o.foo();
// but what to do here?
if ( (o …Run Code Online (Sandbox Code Playgroud)