我试图在C#中创建一个方法,从组合框输入一个字符串值并返回一个颜色对象.我已经建立了如何使用if/else语句来比较字符串并返回颜色对象,但我想减少我正在编写的代码量.
public static ColorBeingReturned(string TextFromBox)
{
newcolor = Color.TextFromBox;
return newcolor;
}
Run Code Online (Sandbox Code Playgroud)
我确信代码都是不正确的,但它让你知道我正在尝试做什么.以下是if/else语句的内容摘要.
public object ColorBeingReturned(string TextFromBox)
{
if (TextFromBox == "Red")
return Color.Red;
else if (TextFromBox == "Blue")
return Color.Blue;
else
return Color.White;
}
Run Code Online (Sandbox Code Playgroud)
基本上不是必须编写所有那些if else语句而是我宁愿一些语句,这样如果我在列表中添加其他颜色,它将是一个更容易的过渡.
你可以使用Color.FromName(TextFromBox)方法.
http://msdn.microsoft.com/en-us/library/system.drawing.color.fromname.aspx
你也可以使用反射
public Color ColorBeingReturned(string TextFromBox)
{
return (Color)(typeof (Color)
.GetProperty(TextFromBox,
BindingFlags.Static|
BindingFlags.Public|
BindingFlags.GetProperty))
.GetValue(null, null);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
785 次 |
| 最近记录: |