【发布时间】:2013-11-17 00:41:26
【问题描述】:
我想知道为什么这会适当地填充派生类:
BaseClass bc = MethodThatReturnsBaseClassObject();
DerivedClass dc = bc as DerivedClass;
但这会创建一个空的派生类对象:
DerivedClass dc = MethodThatReturnsBaseClassObject() as DerivedClass;
【问题讨论】:
-
第一个会将
dc保留为空引用(不是对象;只是一个引用)。尝试展示一个简短但完整的程序来说明问题,我想你会发现两者是一致的。 -
您必须做一些事情来转换课程。例如,覆盖 = 运算符或创建一个将基对象作为参数并将其转换为派生对象的构造函数。
-
感谢您提供的所有信息。这是一天的结束,我想我的大脑没有工作。我现在看到它们是一样的。接受的答案最终是我想要完成的。
标签: c# asp.net inheritance type-conversion