1
74
枚举值名称必须遵循与C中所有标识符相同的命名规则,因此只有名字是正确的。 |
2
355
你可以用
您可以这样使用它:
|
3
33
如果具有以下枚举:
您可以为声明扩展方法
使用此扩展方法,以下内容现在是合法的:
希望这有帮助!! |
4
23
不,但是你可以用 DescriptionAttribute 完成你想要的。 |
5
12
你可以使用
当枚举值为
前提条件:所有枚举成员都应使用该属性应用
实例枚举:
在你的课堂上,你可以这样使用它:
|
6
9
这个技巧的一个问题是描述属性不能本地化。我很喜欢SachaBarber的一种技术,他创建了自己版本的描述属性,该属性将从相应的资源管理器中获取值。 http://www.codeproject.com/KB/WPF/FriendlyEnums.aspx 尽管本文讨论了WPF开发人员在绑定到枚举时通常会遇到的问题,但是您可以直接跳到他创建本地化描述属性的部分。 |
7
6
一些伟大的解决方案已经发布。当我遇到这个问题时,我想双向进行:将枚举转换为描述,并将与描述匹配的字符串转换为枚举。 我有两种变体,慢的和快的。两者都从枚举转换为字符串,从字符串转换为枚举。我的问题是我有这样的枚举,有些元素需要属性,有些不需要。我不想在不需要属性的元素上放置属性。我目前有大约一百个这样的总数:
处理这个问题的第一个方法是缓慢的,基于我在这里和网络周围看到的建议。它很慢,因为我们对每一个转换都进行反射:
问题是你每次都在反思。我还没有衡量这样做对性能的影响,但这似乎令人担忧。更糟糕的是,我们反复计算这些昂贵的转换,而不缓存它们。 相反,我们可以使用一个静态构造函数来用这个转换信息填充一些字典,然后在需要时查找这个信息。显然静态类(扩展方法所需)可以有构造函数和字段:)
看看转换方法现在有多紧。我能想到的唯一缺陷是,这要求所有转换后的枚举都在当前程序集中。另外,我只关心导出的枚举,但是如果您愿意,您可以更改它。 这是如何调用方法
|
8
4
|
9
4
在阅读了许多关于这个主题的资源(包括stackoverflow)之后,我发现并不是所有的解决方案都能正常工作。下面是我们试图解决的问题。
基本上,如果枚举存在,我们从DescriptionAttribute中获取它的友好名称。
下一个版本,我们将使用另一个属性来标记是否可以/应该从可本地化的资源文件中获取友好名称。 下面是测试用例。如果您还有其他未通过的测试用例,请报告。
|
10
3
它们遵循与变量名相同的命名规则。 因此,它们不应该包含空格。 另外,你的建议无论如何都是非常糟糕的做法。 |
11
2
枚举名与普通变量名的规则相同,即名称中间没有空格或圆点…不过我还是认为第一个相当友好的… |
12
0
这是一个糟糕的主意,但确实有效。
要求
为什么这是个坏主意(几个原因)
|
13
-2
我认为您希望向用户显示枚举值,因此,您希望它们具有一些友好的名称。 我的建议是: 使用枚举类型模式。虽然它需要一些努力来实现,但它确实是值得的。
|
H.v.M. · 为最后一个枚举值指定不同的变量值 2 年前 |
JimmyDiJim · 在声明后定义枚举变量 6 年前 |
Eli K · 语法错误,插入“{”以完成枚举体(在类的末尾) 6 年前 |
Vivek Shukla · 在中间添加枚举 6 年前 |
DannyD · 如何访问typescript中的枚举名称 6 年前 |