2011-03-20 70 views
0

我有一个Color类,它保存一种颜色的红色,绿色和蓝色通道的值。类构造函数允许您通过为三个通道指定值来创建新的颜色。但是,为了方便,我还想为程序员提供一些“预制”颜色。例如,而不必像如何在该类中创建类的静态实例?

DrawRectangle(new Color(1, 0, 0)); 

你就可以说

DrawRectangle(Color.Red); 

哪里Color.Red是Color类里面生活色彩的一个实例。如何在Color类中声明Color的这些实例?如果有这种类型的技术的名称,我想知道它,因为当我在网上寻找帮助时,我不知道要使用哪些搜索条件。

+2

而你没有使用System.Drawing.Color,因为? – TrueWill 2011-03-20 19:09:50

+2

仅供参考,System.Drawing.Color可能已经涵盖了您要创建的内容。 – 2011-03-20 19:10:55

回答

8

使用静态变量:

class Color 
{ 
    public Color(int r, int g, int b) 
    { 
     //.. 
    } 
    public static readonly Color Red = new Color(255, 0, 0); 
} 
0

电话里面有一个十进制这样public static Color Red = new Color(1,0,0);

1

我对BrokenGlass的回答相当发表评论,但我不允许,但。

public static readonly Color Red = new Color(255, 0, 0); 

将字段设置为只读将会更好。

+0

+1非常好的捕获,修正了这个问题 – BrokenGlass 2011-03-20 20:46:34

相关问题