我一直在尝试使用十进制值作为字段属性的参数,但出现编译器错误。
我找到了这篇博文link http://salamakha.com/blog/2007/09/21/decimal-in-c-attributes/说它不可能在 .NET 中使用,有人知道为什么他们选择这个或者我如何使用十进制参数?
这是 CLR 限制。只有原始常量或原始数组可以用作属性参数。原因是属性必须完全编码在元数据中。这与用 IL 编码的方法体不同。使用元数据只会严格限制可以使用的值的范围。在当前版本的 CLR 中,元数据值仅限于原语、null、类型和原语数组(可能遗漏了一小部分)。
小数虽然是基本类型,但不是原始类型,因此不能在元数据中表示,这会阻止它成为属性参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)