我的項目的WinForms C#設置價值領域也有這樣的:如何使用反射
private clsDTO_Error DTO_Error; --> Have PropertyName = ID
private clsDTO_Right DTO_Right;
FieldInfo f = this.GetType().GetField(DTO_Error, BindingFlags.NonPublic | BindingFlags.Instance);
這個例子是正常
DTO_Right.GetType()的getProperty(屬性名).SetValue(。 DTO_Right,「OK」,null); 。
或
f.FieldType.GetProperty( 「ID」)的SetValue(DTO_Error, 「OK」,NULL);
我在這一個問題:
f.FieldType.GetProperty( 「ID」)的SetValue(f.FieldType, 「ERROR」,NULL);。
這個任何想法?
謝謝!
請注意,屬性是不一樣的領域,反映在乎這種區別。您可以簡單地爲'DTO_Error'應用相同的代碼,就像您對'DTO_Right'所做的一樣(就我從上面的代碼中可以看到的那樣;它是:獲取'DTO_Error'類型,找到該屬性,調用SetValue' 。對財產提供'DTO_Error'實例和屬性值,而不是扔扳手到這裏工作,使用DLR:'動態errorDto =(動態)DTO_Error; errorDto.ID =值;' –
我不知道我接下來會打電話給哪一個領域,所以我用字段信息,而且DTO_Right我確切地知道 –
---------------- 我不太明白 我有很多重複的動作必須這樣使用 –