当前位置: 首页 > 编程语言 > C#

DefaultValue属性不适用于我的自动属性分享

时间:2023-04-11 00:33:35 C#

C#学习教程:DefaultValue属性不适用于我的自动属性放;当我尝试在代码中使用它时,我发现默认值是false我认为它是bool变量的默认值,有谁知道哪里错了!?DefaultValue属性仅用于告诉VisualStudio设计人员(例如在设计窗体时)属性的默认值。它不会在代码中设置属性的实际默认值。更多信息:http://support.microsoft.com/kb/311339[DefaultValue]仅供(例如)序列化API(如XmlSerializer)和一些UI元素(如PropertyGrid)使用。它本身不设置值;你必须使用构造函数:publicMyType(){RetrieveAllInfo=true;}或手动设置字段,即不使用自动实现的属性:privateboolretrieveAllInfo=true;[DefaultValue(true)]publicboolRetrieveAllInfo{get{returnretrieveAllInfo;}设置{retrieveAllInfo=值;一个黑客是这个链接。简而言之,在构造函数的末尾调用此函数。以上是C#学习教程:DefaultValue属性不适用于我的自动属性分享的所有内容。如果对大家有用,需要详细了解C#学习教程,希望大家多多关注——staticpublicvoidApplyDefaultValues(objectself){foreach(PropertyDescriptorpropinTypeDescriptor.GetProperties(self)){DefaultValueAttributeattr=prop.Attributes[typeof(DefaultValueAttribute)]asDefaultValueAttribute;如果(attr==null)继续;prop.SetValue(self,attr.Value);}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: