簡體   English   中英

在C#中初始化公共屬性的最佳方法是什么?

[英]What's the best way to initialize a public property in C#?

我需要給屬性賦初始值,我想知道是否有比使用構造函數更簡單的方法。

您是否正在使用自動實現的屬性? 值類型屬性將被初始化為其默認值。 引用類型將初始化為null。

如果您希望它們將它們初始化為其他類型,我認為最好的選擇是在構造函數中進行設置。

如果您不使用自動實現的屬性,則可以在聲明它們的地方對其進行初始化。

記住對象字段和構造函數的初始化順序也很有用

如果要利用自動屬性,則構造函數是最簡單的方法。 如果不是,則您的成員變量可以定義默認值。

private string _someString = "Hello.";

但是,您必須自己定義getter和setter。

public string SomeString
{
    get { return _someString; }
    set { _someString = value; }
}

這比在構造函數中定義默認值簡單得多。

如果只想初始化屬性值,那么構造函數就足夠了,我不明白為什么您認為它們並不簡單。

但是,您可以根據需要執行此操作,可以像這樣初始化變量:

int _myProperty = 5;
public int MyProperty
{
  get{ return _myProperty ;}

 set { _myProperty=value; }
}

我想對此有所不同。 如果該值是創建實例所必需的值,則它必須是構造函數的參數。

但是,如果該值是可選的,則可以通過屬性進行設置。

好的構造函數最適合這樣做。 您怎么也可以調用方法。

還要檢查以下鏈接初始化C#自動屬性

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM