簡體   English   中英

為自動屬性設置的默認值不起作用

[英]Default value set for auto property is not working

我創建了一個如下所示的屬性,並且指定的默認值不起作用。

[DefaultValue(100)]
public int MyProperty
{
   get;
   set;
}

但該屬性不返回指定的默認值,而是返回“ O”

有人可以澄清一下嗎?

問候,

如果您使用的是c#6.0,則可以使用它來設置默認屬性值:

public int MyProperty { get; set; } = 100;

您正在使用DefaultValue屬性。

DefaultValueAttribute不會導致成員使用該屬性的值自動初始化。 您必須在代碼中設置初始值。

https://msdn.microsoft.com/zh-CN/library/system.componentmodel.defaultvalueattribute(v=vs.110).aspx

在下面的C#5中,要為屬性提供默認值,必須在構造函數中進行設置。

public class MyClass
{
    public MyClass() {
        MyProperty = 100;
    }

    public int MyProperty {get; set;}
}

在C#版本6(及更高版本)中,您可以執行以下操作:

public int MyProperty { get; set; } = 100;

暫無
暫無

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

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