无法将类型为'Parent'的对象强制转换为'Child'

时间:2016-02-25 20:07:34

标签: c# casting downcast

我试图将我的父母投入我的孩子(又名Down Cast)。以下是相同的例子:

public class Parent
{
    public void ParentMethod()
    {
        Console.WriteLine("In Parent Method");
    }
}

public class Child : Parent
{
    public void ParentMethod()
    {
        Console.WriteLine("In Child Method");
    }
}

我没有编译时间错误,但是当我执行下面的代码时,我得到了像这样的无法将类型为'Parent'的对象强制转换为'Child'。

Child obj2 = (Child)new Parent();
obj2.ParentMethod();

请帮我解答以下问题:

  1. 如何解决此异常。
  2. 这是解释Up / Down cast的好方法。
  3. 在本例中,编译器将调用哪个ParentMethod,即Parent类或Child类。

0 个答案:

没有答案