繁体   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