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