想在一个类里设置一个属性.返回的是自己的类名.应该怎么做.比如Class B :A 设置一个属性,调用时返回的是字符串"B" 怎么样做
我用this.GetType()能返回自己的类型.不过前面带他的命名空间,一长串的东西.如果使用就要截取字符串.有没有更好的方法.

解决方案 »

  1.   

    override GetType()方法就是了
      

  2.   

    见过懒的...没见过这么懒的...B.ToString()输出的就是它自己的名字...重写ToString方法...截取字符串有什么难的?
      

  3.   

    To:vrhero 我这决不是懒.写程序不就是找寻更好的方法吗? 如果有更好的方法那就学到了新的知识.就像我今天问我同事的问题.我问他怎么把一个DataTable在select之后得到DataRow[]赋给另一个Datable.
    我得到的答案是 建个新的DataTable然后建列.然后取行和列的值循环然后一个一个赋进去.靠,这样的答案,确实太不让我满意了.经过搜索.
    我直接Clone, ImportRow只用了三行代码.
    最后感谢你的回答.
      

  4.   

    To:PCI_E 
    这种反射机制 决对有用.
    基类A: 
    B C D E 类继承自A.在基类A的购造函数里 得到自己的类名进行相关操作.他们是自动完成的.你告诉我现在是哪个类???这种方法决对有用.只不过我问题没有这样问,因为这个属性其实不是在类B里设置.是在基类类A里.GetType是属于基类.但返回的是子类的类名.我就要的是这种东西.GetType就是用的反射机制
    TO:lihui_830501 
    this.GetType().Name 得到的是类名,不带空间名.
    我以为得到的是自己设置的类名.原来得到的是生成后的类名. 编译后所有的类名都变化了.原来是这么回事,
    多谢大家指点了.问题解决,结贴.
      

  5.   

    "就像我今天问我同事的问题.我问他怎么把一个DataTable在select之后得到DataRow[]赋给另一个Datable. 
    我得到的答案是   建个新的DataTable然后建列.然后取行和列的值循环然后一个一个赋进去. "汗……
    地球人都知道用Clone + ImportRow
    你同事不知道是懒还是勤快,打那么多行也不觉得累