如何为名称在字符串中的属性赋值?

时间:2014-05-29 09:38:41

标签: c#-4.0

我想为class的对象的属性赋值。我使用GetProperties();

获取了属性名称列表
      PropertyInfo [] props;
      props=typeof(Import_Column).GetProperties();

我创建了一个对象

      Import_Column myobj=new Import_Column();

我想做点什么

      myobj.props[2]=value; //giving me error

我该怎么办?有什么不同的方法吗?

1 个答案:

答案 0 :(得分:0)

您需要将值设置为当前对象实例的属性

string propertyName = "TheNameOfThePropertyToSet";
myobj.GetType().GetProperty(propertyName).SetValue(myobj, value, null);

或在您的情况下,您可以使用

myobj.GetType().GetProperty(props[2].Name).SetValue(myobj, value, null);