[英]What value does System.Drawing.Color -state have?
System.Drawing.Color具有一个私有字段int state
,这使相等性比从结构中所期望的更加棘手。
有人知道这是干什么的吗? 谁,为什么以及为什么设置和阅读它?
据我了解,它与这些价值观相比:
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;
因此,我的看法是,它常用于确定它是“系统颜色”还是用户根据例如ARGB值定义的颜色。
public bool IsKnownColor
{
get { return((state & StateKnownColorValid) != 0);}
}
Color
结构重写Equals
方法,因此在测试颜色是否相等时会自动执行正确的操作。
Equals
方法比较value
, state
, knownColor
和name
字段。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.