gpt4 book ai didi

C# DefaultValue 属性不起作用

转载 作者:行者123 更新时间:2023-12-02 21:08:26 27 4
gpt4 key购买 nike

我正在使用C# windows窗体控件库程序来创建自己的控件,代码如下:

    public partial class MyControl : UserControl
{
public MyControl()
{
InitializeComponent();
}

private float mMinValue;

[Browsable(true)]
[EditorBrowsable(EditorBrowsableState.Always)]
[Category("Design") , DefaultValue(0.0)]
public float MinValue
{
get { return mMinValue; }
set { mMinValue = value; }
}

private float mMaxValue;

[Browsable(true)]
[EditorBrowsable(EditorBrowsableState.Always)]
[Category("Design") , DefaultValue(1.0)]
public float MaxValue
{
get { return mMaxValue; }
set { mMaxValue = value; }
}
}

程序运行时,MinValue和MaxValue的默认值都是0,那么如何正确设置默认值呢?

最佳答案

默认值属性仅向设计者指示该属性的默认值是什么。它不会将其设置为属性背后成员的实际值。 MSDN page for the default value attribute上也提到了这一点:
(在备注部分)

Note
A DefaultValueAttribute will not cause a member to be automatically initialized with the attribute's value. You must set the initial value in your code.

因此,正如其他人已经提到的,您需要自己在代码中设置这些值(我喜欢在构造函数中设置这些值,而不是在私有(private)成员的声明中设置,但我认为这只是个人喜好的问题)。

关于C# DefaultValue 属性不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34869302/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com