【发布时间】:2014-02-13 05:12:52
【问题描述】:
我目前有一些像这样的全局变量(全局部分并不真正相关):
public Brush backgroundColor;
public Brush textColor;
public double timeOffset;
public double dateOffset;
public string title;
public bool showTitle;
public bool showText;
我声明了一个新的List<string> 来使用这个来存储所说的变量:
List<string> x = new List<string>();
x.Add(backgroundColor);
x.Add(textColor);
x.Add(timeOffset.ToString());
x.Add(dateOffset.ToString());
x.Add(title);
x.Add(showTitle.ToString());
x.Add(showText.ToString());
值得注意的是,我只是暂时将这些字符串存储到我的列表中。稍后我将使用它们作为对象。如果我想将此列表中的strings 转换为bool 或double 之类的类型,我可以简单地使用Convert.ToDouble() 或Convert.ToBoolean(),但是,我无法为@ 找到任何可以这样做的东西987654331@对象。
我的Brush 对象是这样使用的:Brushes.Black (Reference MSDN)。我看过这个thread,但他们输入的方式是 RGB 或十六进制,这不是我需要的。
编辑:如果没有办法,或者您可以提出更好的使用方法,请告诉我。为什么我需要Brushes.XXXX 是因为我在bitmap 对象上绘制图像。
【问题讨论】:
-
您不应该将“颜色”存储为画笔。将它们存储为颜色..然后根据它们构建一个画笔。您根本无法使用其他两个画笔的属性创建单个画笔...
-
您如何使用该列表?你“记得”每个索引中的项目类型是什么吗?
-
为什么还要将它们存储为字符串?创建一个类作为包装器,或者至少将它们存储在
object的列表中,这将使转换变得非常容易。 -
@DaveZych 是的。这是一个只有七个对象的列表。 @SimonWhitehead 为什么我这样做基本上是因为我有一个方法可以输入
Brush,就像这样:public void manualBackgroundColor(Brush backgroundColor)将事物绘制到graphics对象上。 -
@theGreenCabbage
It's a list of only seven objects- 是的,你只是做错了。