2011-06-03 195 views
2

所以对于一个用户控件,我有如何在C#中将属性设置为默认值?

public int Count { get; set; } 

,这样我可以在另一种方法中使用this.Count。麻烦的是,我想为Count设置一个默认值,如15。我如何设置默认值?

+0

你就不能设置“计数”,以在初始化时默认值? – 2011-06-03 23:07:54

+0

可能的重复[你如何给C#自动属性一个默认值?](http://stackoverflow.com/questions/40730/how-do-you-give-ac-sharp-auto-property-a-默认值) – nawfal 2014-07-17 21:19:52

回答

7

在用户控件

构造
public YourUserControl(){ 
    Count = 15; 
} 
+0

很酷。当我从长远来看有一堆默认值时,这将会很干净。 – tester 2011-06-03 23:14:15

4

您需要将其设置在类的构造函数中。

例如:

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; } 
    } 
1

如果您想要创建控件的对象l设置默认值,然后他们可以在新控件时使用属性初始值设定项。如果你想为控件设置默认值,那么你可以在构造函数中设置这些默认值。

1

您可以在类的构造函数中设置自动属性的默认值。

public MyClass() 
{ 
    Count = 15; 
} 
1

或备选地在构造函数中设置的值,它可能会工作得很好,在这里,使用方法。

int _count = 15; 
public int Count { 
    get { return _count; } 
    set { _count = value; } 
} 

有时,如果适当的构造函数是不叫出于某种原因(如一些序列化/激活技术)这种方式是非常有用的。

快乐编码。

1

而不是使用自动实现的属性,你可以根据你的包含默认值的基础字段写你自己的财产:

private int _count = 15; 
public int Count 
{ 
    get { return _count; } 
    set { _count = value; } 
} 
1

可以使用DefaultValueAttribute。这里更多的信息:http://msdn.microsoft.com/en-us/library/system.componentmodel.defaultvalueattribute.aspx

这个问题是可能重复:How do you give a C# Auto-Property a default value?

+1

这并没有设置默认值:(我以为它曾经做过,并且发现了我不正确的方式,而是用于允许序列化技术(以及这种方法)*不序列化默认值和从而节省空间(例如'[DataMember(EmitDefault = false)]'),它也用于设计者的“重置”值等。 – 2011-06-03 23:11:31

+0

@pst:你说得对,我只是看到了细节......对Visual Studio中的可视化设计器也有帮助。 – Hasanain 2011-06-03 23:23:18

相关问题