如何将字符串转换为代码? (C#)

时间:2015-01-10 06:35:54

标签: c# string picturebox

是否可以将字符串转换为代码?
例如,而不是:

string foo = "bar";
...
switch(foo){
case "bar":
    pictureBox.Image = Project.Properties.Resources.bar;
    break;
...
}

有没有办法简单地说:

string foo = "bar"
pictureBox.Image = Project.Properties.Resources.<foo string goes in here>;

我希望这个例子有意义。

1 个答案:

答案 0 :(得分:4)

你要做的是在C#中称为反射。您可以在StackOverflow中找到包含代码示例的帖子:Get property value from string using reflection in C#

编辑:这是示例

     string foo = "bar";
     var resources = Project.Properties.Resources;
     object o = resources.GetType().GetProperty(foo).GetValue(resources, null);
     if (o is System.Drawing.Image) {
            pictureBox.Image = (System.Drawing.Image) o;
     }