[英]Accessing derived class variable through object of base class in C#
我有如下代碼Declare.cs
Class B { }
Class D1 : B { public var1 }
Class D2 : B {}
B Baseobject = new B();
if(baseobject is D1){ Console.print(B.var1) }
當我編譯這種情況時,我總是得到B
無法訪問var1
編譯器錯誤。 如果var1
始終需要放在D1
是否可以解決此問題?
該對象必須是D1的實例,因此您的示例有些錯誤。
然后,您需要將對象投射到D1。
B baseObject = new D1();
Console.WriteLine(((D1)baseObject).var1);
首先,由於需要強制轉換,因此無法編譯。 你為什么需要演員? 因為您的對象引用是B類型,並且對D1類型及其方法和屬性一無所知。 您需要閱讀一些有關OOP基本原理的內容
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.