如何将字符串转换为代码? (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;
}
是否可以将字符串转换为代码?
例如,而不是:
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;
}