具有以下代码:
class TrxBase
{
public string Prop1 { get; set; }
public string Prop2 { get; set; }
}
class Trx : TrxBase
{
public string Prop3 { get; set; }
}
static void Print(TrxBase trx)
{
if (trx is Trx trx1)
{
Console.WriteLine(trx1.Prop3);
}
else
{
Console.WriteLine("no match");
}
}
static void Main(string[] args)
{
Trx t = new Trx();
t.Prop1 = "prop 1";
t.Prop3 = "prop 3";
Print(t);
}
上面的代码打印“prop 3”。据我所知。在 Print 方法中,该对象将作为 TrxBase 读取。如果是这种情况,Prop3 属性保存在哪里?程序如何知道我的参数实际上是一个 Trx 对象?
繁花不似锦
心有法竹
相关分类