[英]Assign default value to property
我具有以下類屬性:
public String Url { get; set; }
我希望它在未定義的情況下返回默認值。
我不想在未定義時返回String.Empty。
我正在使用NET 4.5。
做這個的最好方式是什么?
謝謝米格爾
老實說,我不知道這是否是最好的答案,這是我在這里的第一個答案,但這不重要。 我會這樣做
class Class1
{
string sUrl = "www.google.com";
public string Url
{
get
{
return sUrl;
}
set
{
sUrl = value;
}
}
}
現在,該屬性后面有一個字符串值,該字符串值的默認值為www.google.com
希望這可以幫助
只需在類構造函數中設置默認值即可。
public class MyClass
{
public MyClass()
{
MyProperty = 22;
}
public int MyProperty { get; set; }
...
}
您可以創建一個支持字段:
private string _url = "myUrl"
public String Url
{
get { return _url; }
set { _url = value; }
}
對於非靜態字段,我們只能在構造對象之后設置默認值。 即使我們內聯默認值,該屬性也會在構造后初始化。
對於自動屬性,構造函數是初始化的最佳位置。 也許您可以在默認構造函數中執行此操作,然后根據需要添加其他構造函數。
另一種選擇是使用反射-但這不算過分。
您可以在默認構造函數中初始化屬性,並且不要忘記在其他構造函數(在本示例中為MyClass(int)
)中調用默認構造函數,否則該字段將不會初始化。
class MyClass
{
public MyClass()
{
this.Url = "http://www.google.com";
}
public MyClass(int x)
: this()
{
}
public String Url { get; set; }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.