2

サンプルクラスがあります

public class sampleClass
{
    public string givenName { get; set; }
    public string familyName { get; set; }
}

および に含まれるそのクラスの一連の値IDictionary<string, object> dataModel。リフレクションを使用して反復処理し、キーをdataModel使用して値を取得できます。dataModel

私は次のようなことをしたいと思います:

void UpdateValues(IDictionary<string, object> dataModel)
{
    Type sourceType = typeof(sampleClass);
    foreach (PropertyInfo propInfo in (sourceType.GetProperties()))
    {
        if (dataModel.ContainsKey(propInfo.Name))
        {
            //  set propInfo value here
            propInfo.Value = dataModel[propInfo.Name];
        }
    }
}

しかし、私は行を行う方法がわかりません

propInfo.Value = dataModel[propInfo.Name];

ヘルプ!ありがとう !!

4

2 に答える 2

5

プロパティをオンに設定するには、sampleClass のインスタンスが必要であり、SetValue 関数を使用してそれを行うことができます。

propInfo.SetValue(yourinstance, dataModel[propInfo.Name], null);

次のURL を参照してください: http://msdn.microsoft.com/en-us/library/axt1ctd9.aspx

于 2012-10-23T22:45:45.490 に答える
1
propInfo.SetValue(sampleClass, dataModel[propInfo.Name], null)
于 2012-10-23T22:54:05.803 に答える