1
我有一個方法是這樣的:子對象的PropertyInfo.SetValue?
var foo = new Foo();
MapObject(myMap, foo);
private void MapObject(Dictionary<string, PropertyInfo> map, object myObject)
{
foreach(var key in map.Keys)
{
int someValue = myDataSet.GetValue(key);
PropertyInfo pInfo = map[key];
pInfo.SetValue(myObject, someValue, null);
}
}
的問題是,有時,的PropertyInfo指的是在一個子類myObject的的屬性。例如:
class Foo
{
Bar b { get; set; }
}
class Bar
{
string Test { get; set; }
}
發生這種情況時,PropertyInfo.SetValue拋出一個異常類型,因爲它不能設置屬性測試對對象Foo。我無法知道當前PropertyInfo屬於哪個類(它是奇怪的自定義ORM的一部分)。有沒有辦法知道PropertyInfo來自哪個對象?
你是說你有'酒吧'的參考,但不是'Foo',它是一個屬性?如果是這樣的話,就沒有辦法從'Bar'獲取'Foo'。 –
我重寫了這個問題,希望問題更清楚。 – ConditionRacer