我正在尝试使用继承创建一个包装器。实际上我正在使用具有非常通用名称的反序列化代码,我希望在包装内部对象的方法上保存一些键击。
public class Base
{
public string Foo { get; set; }
}
public class Derived : Base
{
public string Bar { get { return this.Foo; } }
}
Base base = new Base();
Derived d = (Derived)base;
我试图向下倾斜时遇到错误。这种类型的东西在C#中是否可行?派生类中没有其他数据,所以我的C ++大脑告诉我可能会有一个向下倾斜......
答案 0 :(得分:8)
不。类标识不仅仅取决于数据布局(对于非POD类型,在C ++中也是如此)。
您可能希望使用扩展方法来添加不需要存储其他数据的其他功能。