如果这个实例是ClassA 的,假设名称是Node,那么用强制转换( ClassB )Node 肯定要出错,请问怎么解决

解决方案 »

  1.   

    if(ClassA.GetType()=="ClassA")
      ....... or ClassA A=new ClassA();ClassB B=new ClassB();   if(A is B) 判段二种类型是否相容,返回bool
       or 
    ClassA A=new ClassA();
    ClassB B= A as ClassB; 
    if(B==null)
     ....
    将类型A转换为B,成功返回类型实例,否则返回null
      

  2.   

    假设你的实例为cls;cls.GetType().Name属性返回这个实例的值!!!
      

  3.   

    cls.GetType().Name属性返回这个实例的类名!!!
      

  4.   

    方法:两个类下均任意加一个字段。
    public class classA : System.Windows.Forms.TreeNode
    {
    >>>>>>>>>>>>>//你的部分
    public readonly string className = "classA";
    }public class classB : System.Windows.Forms.TreeNode
    {
    >>>>>>>>>>>>>//你的部分
    public readonly string className = "classB"
    }
    //这样没法从基类调用,如果从基类调用,可 override ToString()方法