0

我有一个卡片类 - 每张卡片都是四种颜色之一。每种颜色都有与之相关的有趣数据——比如十六进制#和数字表示。我原本打算使用枚举,但我不知道如何包含这另外两个属性。

我希望能够通过 Colors.Red.Hex 或 Colors.Red.Id 引用 Colors.Red 和 Colors.Blue 等颜色,以及每种颜色背后的数据。这里合适的数据结构是什么?

4

2 回答 2

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 回答
0

有一个名为 Color 的类,其属性名为 Hex 和 Id。然后拥有返回所需静态颜色的静态属性:(这是在 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 回答