我有基類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