簡體   English   中英

子類屬性在C#的基類對象中可用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM