我有基类作为动物和儿童类作为狗
这是代码:
class Animal
{
public int Legs { get; set; }
public string Name { get; set; }
}
class Dog : Animal
{
public int noOfTail { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在我的主要方法中,当我在下面执行时,我得到异常:
static void Main(string[] args)
{
Animal a = new Animal();
Dog d = new Dog();
d = (Dog)a;
}
Run Code Online (Sandbox Code Playgroud)
但是当我第一次将我的派生类转换为父类时,我没有任何异常,这就是为什么我感到困惑,有人可以解释其背后的原因.
static void Main(string[] args)
{
Animal a = new Animal();
Dog d = new Dog();
a = d;
d = (Dog)a;
}
Run Code Online (Sandbox Code Playgroud)