2011-06-03 155 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

相關問題