我创建了一个如下所示的属性,并且指定的默认值不起作用。
[DefaultValue(100)]
public int MyProperty
{
get;
set;
}
但该属性不返回指定的默认值,而是返回“O”
有人可以澄清一下吗?
此致
答案 0 :(得分:2)
如果您使用的是c#6.0,则可以使用它来设置默认属性值:
<div class="v3-multiselect" uib-dropdown ng-cloak auto-close="outsideClick" is-open="isOpen">
<a href="#" class="dropdown-toggle v3-multiselect-toggle" uib-dropdown-toggle>
<b>{{ optionLabel }}:</b> Max {{ max }}
</a>
<span class="v3-caret-more pull-right"></span>
<ul class="dropdown-menu" uib-dropdown-menu role="menu">
<li ng-click="toggleOption(option['id']); " ng-repeat="option in opt ions track by option['id']" class="v3-multiselect-option" ng-class="{checked: isChecked(option['id'])}">
<label>{{ option.name }}</label>
</li>
</ul>
答案 1 :(得分:1)
您使用的是DefaultValue
属性。
DefaultValueAttribute不会导致使用属性的值自动初始化成员。您必须在代码中设置初始值。
https://msdn.microsoft.com/en-us/library/system.componentmodel.defaultvalueattribute(v=vs.110).aspx
在下面的C#5中,为了给属性一个默认值,你必须在构造函数中这样做。
public class MyClass
{
public MyClass() {
MyProperty = 100;
}
public int MyProperty {get; set;}
}
在C#的第6版(及以上版本)中,你可以这样做:
public int MyProperty { get; set; } = 100;