如何在该类中创建类的静态实例?

时间:2011-03-20 19:03:17

标签: c#

我有一个Color类,它包含颜色的红色,绿色和蓝色通道的值。类构造函数允许您通过指定三个通道的值来创建新颜色。但是,为方便起见,我还想为程序员提供一些“预制”颜色。例如,而不是像

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

你可以说

DrawRectangle(Color.Red);

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

3 个答案:

答案 0 :(得分:8)

使用静态变量:

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

答案 1 :(得分:1)

我宁愿评论BrokenGlass的答案,但我还不被允许。

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

将字段设为readonly会更好。

答案 2 :(得分:0)

在通话中有一个像这样的public static Color Red = new Color(1,0,0);