通过C#中的基类对象访问派生类变量

时间:2018-02-25 10:22:02

标签: c#

我的代码如下 Declare.cs

var1

当我编译这个场景时,我总是遇到编译器错误,B无法访问var1。如果D1始终需要|B| = O(1),是否可以解决此问题?

2 个答案:

答案 0 :(得分:0)

对象需要是D1的实例,所以你的例子有点不对。

然后,您需要将对象转换为D1。

B baseObject = new D1();
Console.WriteLine(((D1)baseObject).var1);

答案 1 :(得分:0)

首先,它不会编译,因为你需要强制转换。你为什么要演员?因为您的对象引用是B类型,并且对D1类型及其方法和属性一无所知。您需要阅读有关基本OOP原则的更多信息