-1

可能重复:
如何通过反射设置对象属性

如果我有以下程序:

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;
    }
}

我想要做的是能够为属性分配一个5MyIntProp。是否可以使用字符串名称来执行此操作?我虽然在使用 LINQ 之前看到过类似的事情,但我似乎不记得语法或在哪里找到它。

4

1 回答 1

3

您可以将反射与GetProperty方法一起使用:

 typeof(MyClass).GetProperty(PropertyName).SetValue(_myClass, 5);
于 2012-10-08T17:13:21.027 回答