DebuggerDisplayAttribute和DebuggerDisplay之间的区别

时间:2009-10-05 19:29:40

标签: .net attributes

[DebuggerDisplayAttribute("{_name}")]

VS

[DebuggerDisplay("{_name}")]

有区别吗?一个是别人的别名吗?当使用名为foo?

的属性时,VS是否会自动检查名为fooAttribute的类

3 个答案:

答案 0 :(得分:9)

它们是相同的,无论你是否在最后写属性,C#编译器都能解析类型。

答案 1 :(得分:5)

他们是一样的。您倾向于在生成的代码中看到完全限定的名称,尤其是通过CodeDom输出的。

您可以使用其中任何一个。编译器最终会生成相同的东西。

答案 2 :(得分:5)

没有区别。命名该类的标准约定是附加单词Attribute,如:

public class AlertAttribute : Attribute {}

使用该属性时,标准惯例是消除该单词,如:

[Alert()]

来自属性(C#和Visual Basic) http://msdn.microsoft.com/en-us/library/z0w1kczw.aspx

  

按照惯例,所有属性名称都以单词“Attribute”结尾   将它们与.NET Framework中的其他项区分开来。但是,你   使用属性时不需要指定属性后缀   码。例如,[DllImport]相当于[DllImportAttribute],   但是DllImportAttribute是.NET中属性的实际名称   框架。