【发布时间】:2017-12-08 10:40:07
【问题描述】:
您好,我是 C# 的新手,我正在尝试找出“隐式转换”操作。我有一个问题:
class Animal { }
class Monkey : Animal { }
Monkey m = new Monkey();
Animal a = m;
m.GetType()
[Submission#165+Monkey]
a.GetType()
[Submission#165+Monkey]
Monkey m2 = a;// 此调用 - 编译器错误 CS0266。 无法将类型“动物”隐式转换为“猴子”。明确的
转换存在(您是否缺少演员表?)
我不明白 - 如果最后一行代码抛出错误 CS0266,为什么 GetType 方法返回“a”变量的类型为“Monkey”。如果“a”变量是 Animal 如何找出它?用什么方法?
【问题讨论】:
-
从父类到子类的复制:stackoverflow.com/questions/988658/…