[英]Child class property available in base class object in c#
在這里,我有以下代碼,在其中創建了兩個類A和B。然后在main方法中,我創建了兩個類的對象,並將子對象分配給父對象。 我不明白它在C#中的工作原理,有人可以向我解釋嗎?
class Program
{
static void Main(string[] args)
{
A objA = new A();
B objB = new B();
objA = objB;
Console.ReadLine();
}
}
public class A
{
public string ABC { get; set; }
public string XYZ { get; set; }
public string lmn { get; set; }
}
public class B : A
{
private string vvmdn { get; set; }
public string mkkk { get; set; }
}
引用objA
指向內存中的B
對象,調試器顯示此對象的所有屬性。
您可以在運行時使用反射自己訪問對象的非公共成員: https : //docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/concepts/reflection 。 這基本上就是Visual Studio中的調試器所做的。
引用objA
的類型確實為A
但它在內存中指向的實際對象為B
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.