枚举智能感知显示属性?

时间:2010-10-26 19:00:46

标签: c# attributes .net-4.0 enums

我想这样做:

enum Foo
{
    [Display="Item One"]
    ItemOne,
}

因此Intellisense将在属性中显示它而不是实际名称。

我知道这是可能的,我以前见过它。

2 个答案:

答案 0 :(得分:13)

您可以提供XML文档:

enum Foo
{
    /// <summary>Item One</summary>
    ItemOne
}

我不确定这是否与您的想法相符,但这是VS 2010中的例子:

IntelliSense with enum

请注意,我假设你的意思是来自代码编辑器...如果你的意思是在属性编辑器中,那可能是完全不同的东西,例如: DisplayNameAttribute(虽然这意味着属性,事件或方法)。

如果你在框架中知道了你想要的一个例子,我们可以提供更多帮助。

答案 1 :(得分:4)

作为注释......如果您正在构建一个将由另一个应用程序引用的.dll,那么只编写摘要将不允许文本显示在intellisense中用于引用应用程序。要实现这一点,您还必须部署XML文档文件,这需要重新编译相同的.dll版本。

要做到这一点(无论如何都在VS2008中),进入项目的属性,单击Build选项卡,单击XML文档文件旁边的复选框:&#39;,重建应用程序,现在你有了使其运作所需的文件。