【发布时间】:2010-11-30 22:44:58
【问题描述】:
谁能告诉我为什么带有“//Compiles”的行可以编译,为什么带有“//Doesn't Compile”的行不能编译?
我不明白为什么 A 可以隐式转换为 B,而不是反过来。
public class SomeClass {
static public void Test() {
AClass a = new AClass();
BClass b = new BClass();
a = b; // Compiles
b = a; // Doesn't compile
}
}
public class AClass {
public void AMethod() {
Console.WriteLine("AMethod");
}
}
public class BClass : AClass {
public void BMethod() {
Console.WriteLine("BMethod");
}
}
谢谢!
【问题讨论】:
标签: c# .net inheritance type-conversion implicit-conversion