我有以下类属性:
public String Url { get; set; }
我希望它在未定义的情况下返回默认值。
我不想在未定义时返回String.Empty。
我使用的是.NET 4.5。
这样做的最佳方式是什么?
谢谢你, 米格尔
答案 0 :(得分:3)
class Class1
{
string sUrl = "www.google.com";
public string Url
{
get
{
return sUrl;
}
set
{
sUrl = value;
}
}
}
现在,您在该属性后面有一个字符串值,其默认值为www.google.com
希望这会有所帮助
答案 1 :(得分:1)
只需在类构造函数中设置默认值。
public class MyClass
{
public MyClass()
{
MyProperty = 22;
}
public int MyProperty { get; set; }
...
}
答案 2 :(得分:1)
您可以创建支持字段:
private string _url = "myUrl"
public String Url
{
get { return _url; }
set { _url = value; }
}
答案 3 :(得分:0)
对于非静态字段,我们只能在构造对象后设置默认值。即使我们内联默认值,该属性也会在构造后初始化。
对于自动属性,构造函数是初始化的最佳位置。也许您可以在默认构造函数中执行此操作,然后根据需要使用其他构造函数。
另一种选择是使用反射 - 但这不仅仅是一种过度杀伤。
答案 4 :(得分:0)
您可以在默认构造函数中初始化属性 AND 不要忘记在其他构造函数中调用默认构造函数(在此示例中为MyClass(int)
),否则该字段将不会被初始化。
class MyClass
{
public MyClass()
{
this.Url = "http://www.google.com";
}
public MyClass(int x)
: this()
{
}
public String Url { get; set; }
}