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

How to convert a string to code? (C#)

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

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

我希望这个例子有意义。

您尝试做的是 C# 中的反射。您可以在 Whosebug 中找到一个 post 及其代码示例: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;
     }