如何将派生类对象的实例转换为基类对象?
class BaseClass
{
public int MyProperty1 { get; set; }
}
class DerrivedClass : BaseClass
{
public int MyProperty2 { get; set; }
}
如果我有带有2个属性的objDerivedClass(MyProperty1,MyProperty2),我如何将其转换为objBaseClass,以获得基类对象的实例?
答案 0 :(得分:3)
你不能真正做到这一点,并且通常违背继承类的要点 - 它们具有公共和受保护的属性及其基类的方法,以及为扩展基类功能而添加的所有内容。将派生类强制转换为它的基础只会丢掉所有额外的好处,你会遇到添加麻烦。
如果您要问的是如何将BaseClass和DerivedClass接受到任何方法或属性中,您可以要求BaseClass - 任何接受BaseClass的东西也会接受DerivedClass,因为DerivedClass被认为是的BaseClass。