类模型 - 设置默认值
问题描述:
当定义默认值,是什么类模型 - 设置默认值
[DefaultValue("member")]
public string Role { get; set; }
和
public string Role { get; set; } = "member";
答
第一之间的差,其可以是用于元编程有用的属性。例如,如果某人清除输入,您可能想要记住默认值。它有什么也没有与C#语言本身。它不会修改Role
的值。
第二个实际上将该属性的值设置为内存中的'成员'。
答
甲DefaultValueAttribute不会造成构件与该属性的值被自动初始化。您必须在代码中设置初始值。
换句话说,您的第一个示例帮助工具(如Windows窗体设计器)知道属性的预期默认值是什么。但它在运行时没有没有。
如果您希望在运行时为某个属性分配一个默认值,则必须自己执行该操作,就像在第二个示例中所展示的那样。