【发布时间】:2014-10-27 20:34:56
【问题描述】:
在 C# 4.0 中,我有一个父类和一个子类,类似于:
public abstract class Parent()
{
public Parent() { }
public void CommonMethod() { /* do something */ }
}
public class Child : Parent
{
public string PropertyA { get; set; }
public string PropertyA { get; set; }
public Child() : base()
}
如果我实例化以下内容:
Parent obj = new Child();
..我无法访问 PropertyA 和 PropertyB。我意识到obj 是Parent 类型,它没有这些成员,但我怎样才能以“干净”的方式访问它们?我可以做到以下几点:
Child obj = new Child();
..这会给我访问权限,但我经常看到正在制作的对象是键入给父级而不是子级的。为什么这种情况如此普遍?我是不是走错路了?
编辑:我应该说 Child() 中的属性并非对所有派生自 Parent() 的类都通用。
【问题讨论】:
标签: c# .net inheritance properties