System.Drawing.Color有一个私有字段int state
,这使得等式比结构所期望的要复杂得多。
任何人都知道这是为了什么?谁,什么以及为什么设置和读取它?
答案 0 :(得分:4)
据我了解,它与theese值进行比较:
private static short StateKnownColorValid = 0x0001;
private static short StateARGBValueValid = 0x0002;
private static short StateValueMask = (short)(StateARGBValueValid);
private static short StateNameValid = 0x0008;
private static long NotDefinedValue = 0;
所以我的镜头是,如果它是“系统颜色”或用户定义的,那么它用于dertermine。 ARGB值。
public bool IsKnownColor
{
get { return((state & StateKnownColorValid) != 0);}
}
答案 1 :(得分:1)
Color
结构会覆盖Equals
方法,因此在测试颜色相等时会自动执行正确的操作。
Equals
方法会比较value
,state
,knownColor
和name
字段。