首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请问一个关于类型转换有关问题

2012-04-20 
请教一个关于类型转换问题看如下的一段代码:publicclassProgram{publicstaticvoidMain(string[]args){Clas

请教一个关于类型转换问题
看如下的一段代码:
public   class   Program
        {
                public   static   void   Main(string[]   args)
                {                
                        ClassTest   a   =   new   ClassTest();
                        BaseClass   b   =   a;                              
                        Console.WriteLine(b.GetType().ToString());    
                        Console.ReadLine();
                }
        }
        public   class   BaseClass{   }
        public   class   ClassTest   :   BaseClass   {   }

如何使b.GetType()得到的类型是BaseClass而不是ClassTest

[解决办法]
public class ClassTest : BaseClass { } 由于他们好比父子关系,b变量会自动转换
[解决办法]
b 指向的是一个new ClassTest()啊,这个是不能更改的

CLR最重要的一个特性就是类型安全。CLR在运行时可以通过调用GetType方法来得到对象的准确类型。因为该方法是一个非虚方法,所以我们不可能利用它来修改一个类型的信息。

热点排行