如果我有以下程序:
public class MyClass
{
public int MyIntProp {
get;
set;
}
public string MyStringProp {
get;
set;
}
}
public class MyMainClass
{
private const string PropertyName = "MyIntProp";
private MyClass _myClass;
public MyMainClass()
{
_myClass = new MyClass();
// _myClass.PropertyName = 5;
}
}
我想要做的是能够为5
属性分配MyIntProp
的值。是否可以使用字符串名称执行此操作?我虽然在使用LINQ之前看到过这样的事情,但我似乎无法记住语法或我在哪里找到它。
答案 0 :(得分:3)
您可以使用GetProperty方法使用反射:
typeof(MyClass).GetProperty(PropertyName).SetValue(_myClass, 5);