|
|
1
126
这是一个CLR限制。只有基元常量或基元数组可以用作属性参数。原因是属性必须完全在元数据中编码。这与用IL编码的方法体不同。使用元数据只会严重限制可以使用的值的范围。在当前版本的CLR中,元数据值仅限于原语、null、原语类型和数组(可能缺少一个较小的)。 基本类型不是基元类型,因此不能在元数据中表示小数,这会阻止它成为属性参数。 |
|
2
18
我也有同样的问题。我考虑使用 串 . 这不是类型安全的,但它是可读的,我认为我们将能够在字符串中写入有效的数字:-)。
这不是一种美,但在考虑了所有的选择之后,它已经足够好了。 |
|
|
3
2
遇到这种情况时,我最终将属性作为Double公开,但在属性内部将其视为Decimal。远非完美,但对于简单的情况,它可能正是您所需要的。 |
|
|
4
1
对于我使用的属性的实时技巧 TypeConverter 班 |
|
|
5
0
您可以使用以下构造函数。当您在C代码中有一个十进制文本时,C编译器将发出对该构造函数的调用。
编辑:我知道这不方便。 |