我的项目的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我确切地知道 –
---------------- 我不太明白 我有很多重复的动作必须这样使用 –