所以对于一个用户控件,我有如何在C#中将属性设置为默认值?
public int Count { get; set; }
,这样我可以在另一种方法中使用this.Count
。麻烦的是,我想为Count设置一个默认值,如15
。我如何设置默认值?
所以对于一个用户控件,我有如何在C#中将属性设置为默认值?
public int Count { get; set; }
,这样我可以在另一种方法中使用this.Count
。麻烦的是,我想为Count设置一个默认值,如15
。我如何设置默认值?
在用户控件
构造public YourUserControl(){
Count = 15;
}
很酷。当我从长远来看有一堆默认值时,这将会很干净。 – tester 2011-06-03 23:14:15
您需要将其设置在类的构造函数中。
例如:
public partial class YourControl : UserControl
{
public int Count { get; set; }
public YourControl()
{
InitializeComponent();
// Set your default
this.Count = 15;
}
}
替代地,如果使用一个支持字段,则可以将其设置内嵌场上:
public partial class YourControl : UserControl
{
private int count = 15;
public int Count
{
get { return this.count; }
set { this.count = value; }
}
如果您想要创建控件的对象l设置默认值,然后他们可以在新控件时使用属性初始值设定项。如果你想为控件设置默认值,那么你可以在构造函数中设置这些默认值。
您可以在类的构造函数中设置自动属性的默认值。
public MyClass()
{
Count = 15;
}
或备选地在构造函数中设置的值,它可能会工作得很好,在这里,使用长方法。
int _count = 15;
public int Count {
get { return _count; }
set { _count = value; }
}
有时,如果适当的构造函数是不叫出于某种原因(如一些序列化/激活技术)这种方式是非常有用的。
快乐编码。
而不是使用自动实现的属性,你可以根据你的包含默认值的基础字段写你自己的财产:
private int _count = 15;
public int Count
{
get { return _count; }
set { _count = value; }
}
可以使用DefaultValueAttribute。这里更多的信息:http://msdn.microsoft.com/en-us/library/system.componentmodel.defaultvalueattribute.aspx
这个问题是可能重复:How do you give a C# Auto-Property a default value?
这并没有设置默认值:(我以为它曾经做过,并且发现了我不正确的方式,而是用于允许序列化技术(以及这种方法)*不序列化默认值和从而节省空间(例如'[DataMember(EmitDefault = false)]'),它也用于设计者的“重置”值等。 – 2011-06-03 23:11:31
@pst:你说得对,我只是看到了细节......对Visual Studio中的可视化设计器也有帮助。 – Hasanain 2011-06-03 23:23:18
你就不能设置“计数”,以在初始化时默认值? – 2011-06-03 23:07:54
可能的重复[你如何给C#自动属性一个默认值?](http://stackoverflow.com/questions/40730/how-do-you-give-ac-sharp-auto-property-a-默认值) – nawfal 2014-07-17 21:19:52