2012-03-18 27 views
2

.NETの色のリストに追加することは可能ですか?たとえば、Color.Red Color.Greenなどは既に存在しますが、Color.SlightlyDarkGrayのような色を追加したいとします。Color構造体にカスタム色を追加しますか?

EDIT: 私のカスタムのためにデフォルトの色を作ることができますユーザーのコントロールを再入力する代わりに、245,65,65のいずれか、または私が望むデフォルトの色を変更するたびに

答えて

3

あなたはこの

public struct MoreColors // or public static class 
{ 
    public static Color SomeNiceColor { get { return Color.FromArgb(12,136,20); } } 
    public static Color MyPreferredColor { get { return Color.FromArgb(209,80,0); } } 
} 
3

いいえ - Colorのすべてのフィールドは既にあります。タイプに何も追加することはできません。

という名前のタイプはいつでも作成できますが、MoreColorsと呼ばれます。明らかに、それがデザイナーに表示されている内容に影響を与えません。

+0

のようなジョンスキートのアイデアは色を継承して、そこにいくつかのエキストラを定義して、代わりにその構造体を使用する方法があります実装することができますか? – Oztaco

+0

@EfeOzturkoglu:いいえ - 構造体から派生することはできません。なぜこれをやりたいのかはまだ分かりません。 –

+0

@ EfeOzturkoglu:実際には同じJonが示唆している。それはあなた自身のクラスですが、あなたのフィールド*を持つ 'Color'ではありません。 – Tigran

0

いいえ、方法はありません。 の場合の場合はextension methodを追加すると考えられますが、それはメソッドの場合のみで、ではなくのstatic のフィールドではなく、ネイティブクラスであるためです。

関連する問題