2011-03-20 68 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

相關問題