将默认值指定给property

时间:2013-12-03 11:22:51

标签: c#

我有以下类属性:

public String Url { get; set; }

我希望它在未定义的情况下返回默认值。

我不想在未定义时返回String.Empty。

我使用的是.NET 4.5。

这样做的最佳方式是什么?

谢谢你, 米格尔

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; }
}
相关问题