我可以将DefaultValue设置为Color.Empty吗?
本文关键字:Empty Color DefaultValue 设置 我可以 | 更新日期: 2023-09-27 18:14:22
下面的代码总是在我的Designer.cs文件中生成一个显式的属性赋值:
[Category("Appearance"), DefaultValue(typeof(Color), "Empty")]
public Color PropertyBackColor
{
get { return propertyBackColor; }
set { propertyBackColor = value; }
}
Color propertyBackColor = Color.Empty;
我在我的designer .cs文件中得到这个,如果设计器不理解DefaultValue。
this.textBox2.PropertyBackColor = System.Drawing.Color.Empty;
它适用于任何实际颜色。Color.Empty.
默认值可以由ShouldSerialize方法定义。参见在MSDN上使用ShouldSerialize和Reset方法定义默认值。
本例的示例代码(改编自上面的链接)
[Category("Appearance")]
public Color PropertyBackColor
{
get { return propertyBackColor; }
set { propertyBackColor = value; }
}
Color propertyBackColor = Color.Empty;
public bool ShouldSerializePropertyBackColor()
{
return propertyBackColor != Color.Empty;
}
public void ResetPropertyBackColor()
{
propertyBackColor = Color.Empty;
}
我认为,方法ShouldSerialize和Reset可以私有或保护