转型问题

    错误的写法:

class Program
{
static void Main(string[] args)
{
Employee e = new Employee();
Manager m = (Manager)e;
}
}

class Employee
{

}

class Manager : Employee
{

}

正确写法:

class Program
{
static void Main(string[] args)
{
Employee e = new Manager();
Manager m = (Manager)e;
}
}

class Employee
{

}

class Manager : Employee
{

}


曾经以为只要 Manger类继承自Employee类,子类就能强制转换成父类。现在明白了,只有当父类实例实现的是子类时,子类向父类转型才会正常,不会出现运行时错误。

不知道是不是这么表达,期望看到博客的同学们给专业的表达一下。谢谢。

posted on 2011-11-09 23:08  CodeSummer  阅读(129)  评论(0编辑  收藏  举报

导航