0

Cards クラスがあります。各カードは 4 つの色の 1 つです。各色には、hex# や数値表現などの興味深いデータが関連付けられています。もともと列挙型を使用する予定でしたが、これらの他の 2 つのプロパティを含める方法がわかりません。

Colors.Red や Colors.Blue などの色と、Colors.Red.Hex または Colors.Red.Id を介して各色の背後にあるデータを参照できるようにしたいと考えています。ここで適切なデータ構造は何ですか?

4

2 に答える 2

0

Hex と Id というプロパティを持つ Color というクラスを用意します。次に、必要な静的色を返す静的プロパティを用意します (これは C# にあります)。

public class Color
{
    public string Hex { get; private set; }

    public int Id { get; private set; }

    public static Color Red
    {
        get
        {
            return new Color 
            {
                Hex = "DD0000",
                Id = 1
            };
        }
    }

    public static Color Blue
    {
        get
        {
            return new Color
            {
                Hex = "hex for blue",
                Id = 2
            };
        }
    }
}

カスタム カラーを作成したくない場合は、Color コンストラクタをプライベートにします。

于 2013-02-07T02:26:18.097 に答える
0

そのすべてが組み込まれています:

// using System.Drawing;

Color MyColor = Color.Red;

int Value = MyColor.ToArgb();

byte R = MyColor.R;
byte G = MyColor.G;
于 2013-02-07T02:19:07.570 に答える