【发布时间】:2015-07-09 17:30:38
【问题描述】:
考虑这种情况。
- 有一个
structColor(别人写的) -
enum ColorCode实现了 html 命名颜色代码。 - 有一个静态函数可以将
ColorCode转换为Color -
我希望能够做到这一点:
Color tmp = ....; tmp = ColorCode.Aqua;
如何在不复制粘贴文本 140 次的情况下做到这一点?
我真的不在乎ColorCode 是什么(枚举、类等),只要上面的行有效。
问题:
C# 不允许我为枚举定义运算符。
我也没有任何宏可以在ColorCode 中制作一些漂亮的人类可读表格。
限制:
ColorCode 的内容应以ints 的形式提供,但应可分配/可转换为Color。
代码片段:
public enum ColorCode{
AliceBlue = 0xF0F8FF,
AntiqueWhite = 0xFAEBD7,
Aqua = 0x00FFFF,
Aquamarine = 0x7FFFD4,
Azure = 0xF0FFFF, ///Repeat 140 times
...
}
public static Color colorFromCode(ColorCode code){
....
}
【问题讨论】: