我听说人们对 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/