将派生类对象转换为基类

时间:2014-10-31 22:54:57

标签: c# inheritance type-conversion

如何将派生类对象的实例转换为基类对象?

class BaseClass
{
    public int MyProperty1 { get; set; }
}

class DerrivedClass : BaseClass
{
    public int MyProperty2 { get; set; } 
}

如果我有带有2个属性的objDerivedClass(MyProperty1,MyProperty2),我如何将其转换为objBaseClass,以获得基类对象的实例?

1 个答案:

答案 0 :(得分:3)

你不能真正做到这一点,并且通常违背继承类的要点 - 它们具有公共和受保护的属性及其基类的方法,以及为扩展基类功能而添加的所有内容。将派生类强制转换为它的基础只会丢掉所有额外的好处,你会遇到添加麻烦。

如果您要问的是如何将BaseClass和DerivedClass接受到任何方法或属性中,您可以要求BaseClass - 任何接受BaseClass的东西也会接受DerivedClass,因为DerivedClass被认为是的BaseClass。