我有基类CommonClass - 抽象父。从它我有很多派生类,都只有相同类型的新不同成员ObjDescr。一个缩短例如如何从C#中的基类获取派生类MEMBERS?
public class CommonClass
{
// many common methods, handlers and properties
}
// many derived classes like this one
public class Orders : CommonClass
{
public ObjDescr Date { get; private set }
public ObjDescr Place { get; private set }
}
CommonClass服务我很好,但现在我想办一个通用的方法,而我可以给任何不同的派生子类。它将迭代一些新的派生成员,知道成员名称。
public SuperDuperUniversal(CommonClass UnknownDerived, string memb_name)
{
// I do access to members now only WHEN i know the class
Orders Order1 = (Orders)UnknownDerived;
ObjDescr aPlace1 = Orders.Place;
// I wanna to have access like
ObjDescr aPlace2 = UnknownDerived.Get_ObjDescr_ByName(memb_name);
string aPlaceName = aPlace2.Description;
}
我需要直接有成员与名memb_name例如UnknownDerived访问。
编辑:我不同意这个问题是与其他重复。解决方案是一样的,我同意。但问题是不同的。我在搜索之前搜索了一下,但没有找到答案。如果其他人希望从名称中获得实例的类成员来找到这个答案,那将会很方便。
使用'Reflection' – 2015-02-06 09:35:37
我试图用GetMember,getfield命令,但他们返回类型的成员,而不是**此成员**特别的例子。 – TPAKTOPA 2015-02-06 09:38:06