[英]How to get child property inside parent class?
请问我下一步该怎么做? 如何使用Lambda做到这一点? 如果此方法不知道委托对象的类型,是否可以委托某些对象实例并使用其属性和方法?
class class_a {
public string getChildData<T> (T dynamicInstance) {
return dynamicInstance.prop;
}
}
class class_b : a {
public string prop = "prop_b";
}
class class_c : a {
public string prop = "prop_c";
}
var inst_b = new b ();
var inst_c = new c ();
b.getChildData(b);
c.getChildData(c);
目的 :在父类中获得子级属性?
更新 :使用反射-http : //forums.asp.net/t/1608839.aspx
谢谢阿特姆
使用抽象/虚拟属性而不是字段:
abstract class ClassA
{
public abstract string MyProperty
{
get;
}
public void DoIt()
{
Console.WriteLine(this.MyProperty);
}
}
class ClassB : ClassA
{
public override string MyProperty
{
get { return "prop_b"; }
}
}
class ClassC : ClassA
{
public override string MyProperty
{
get { return "prop_c"; }
}
}
var instB = new ClassB();
var instC = new ClassC();
instB.DoIt();
instC.DoIt();
请参阅: 继承(C#编程指南)
请参阅: 覆盖(C#参考)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.