當定義默認值,是什麼類模型 - 設置默認值
[DefaultValue("member")]
public string Role { get; set; }
和
public string Role { get; set; } = "member";
當定義默認值,是什麼類模型 - 設置默認值
[DefaultValue("member")]
public string Role { get; set; }
和
public string Role { get; set; } = "member";
第一之間的差,其可以是用於元編程有用的屬性。例如,如果某人清除輸入,您可能想要記住默認值。它有什麼也沒有與C#語言本身。它不會修改Role
的值。
第二個實際上將該屬性的值設置爲內存中的'成員'。
甲DefaultValueAttribute不會造成構件與該屬性的值被自動初始化。您必須在代碼中設置初始值。
換句話說,您的第一個示例幫助工具(如Windows窗體設計器)知道屬性的預期默認值是什麼。但它在運行時沒有沒有。
如果您希望在運行時爲某個屬性分配一個默認值,則必須自己執行該操作,就像在第二個示例中所展示的那樣。