c# - .NET 默认值属性

标签 c# .net properties attributes

我听说人们对 DefaultValue 属性有一些不同的说法,包括:

  • > “它在其他任何东西使用它之前设置属性的值。”
  • > “它不适用于自动属性。”
  • > “只是为了装饰。您必须手动设置实际的默认值。”

哪个(如果有的话)是对的? DefaultValue 是否真的设置了默认值?有没有不起作用的情况?最好不要使用它吗?

最佳答案

我通常使用 DefaultValue 的地方是用于序列化/反序列化为 XML 的类。它不会在实例化期间设置默认值,也不会影响自动属性。

来自 MSDN:

A DefaultValueAttribute will not cause a member to be automatically initialized with the attribute's value. You must set the initial value in your code.

MSDN - DefaultValueAttribute Class


编辑:正如罗兰指出的那样,正如其他人在他们的回答中提到的那样,该属性也被表单设计器使用

关于c# - .NET 默认值属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2329868/

相关文章:

C# 索引器属性问题

c# - Entity Framework Core - 如何正确映射与复合键的关系?

c# - 如何验证 mvc 模型中列表中的项目数

C# 线程和数据库

.net - 如何从 TPL 任务更新 WPF 控件?

c# - 在 C# 中,搜索列表中的元素但执行 "StartsWith()"搜索的最快方法是什么?

java - Wildfly 加载系统属性

c# - 拆分 app.xaml 的最佳方法是什么?

.net - 在应用程序中使用 ‘useLegacyV2RuntimeActivationPolicy’ 和supportedRuntime时出现问题

java - 如何在Java中高效存储滚动播放项属性?