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는 객체 푸에 속성 테스트를 설정할 수 있기 때문에 형식 예외가 발생합니다. 현재 PropertyInfo가 속한 클래스를 알 수있는 방법이 없습니다 (이상한 사용자 정의 ORM의 일부 임). PropertyInfo가 파생 된 개체를 알 수있는 방법이 있습니까? 당신의 목표는 Bar.Test
null
에 설정하는 경우
'바'에 대한 참조가 있지만 '특성'의 '푸'가 아닙니다. 그렇다면'바 '에서'푸'를 얻을 수있는 방법이 없습니다. –
문제를 명확하게하기 위해 질문을 다시 작성했습니다. 잘하면 ..? – ConditionRacer