解决方案 »

  1.   

    if(c is DerivedClass)
      //子类
    else
      //父类
      

  2.   

    public class VirtualInheritSample
        {
            public static void Main()
            {
                DerivedClass c = new DerivedClass();
                c.Call();
            }
        }
        public class BaseClass
        {
            public void A()
            {
                Console.WriteLine("Base A");
            }
            public virtual void B()
            {
                Console.WriteLine("Base B");
            }
        }
        public class DerivedClass : BaseClass
        {
            public new void A()
            {
                Console.WriteLine("Derived A");
            }
            public override void B()
            {
                Console.WriteLine("Derived B");
            }
            public void Call()
            {
                this.A();
                this.B();
                ((BaseClass)this).A();
                ((BaseClass)this).B();
            }
    }
      

  3.   

    方法很多
    第一种同2楼if(instance is FatherClass){
    }else if(instance is ChildrenClass){
    }还有
    if((instance as FatherClass)!=null){}else if((instance as ChildrenClass)!=null){}还有
    获取对象实例的Type 看看是否equals(typeof(FatherClass))
    等等