Разница между DebuggerDisplayAttribute и DebuggerDisplay - PullRequest
3 голосов
/ 05 октября 2009
[DebuggerDisplayAttribute("{_name}")]

против

[DebuggerDisplay("{_name}")]

Есть ли разница? Один псевдоним другого? Проверяет ли VS автоматически наличие класса с именем fooAttribute при использовании атрибута с именем foo?

Ответы [ 3 ]

9 голосов
/ 05 октября 2009

Они одинаковы, компилятор C # сможет определить тип независимо от того, пишете ли вы Attribute в конце или нет.

5 голосов
/ 08 июня 2012

Разницы нет. Стандартное соглашение при именовании класса заключается в добавлении слова Attribute, например:

public class AlertAttribute : Attribute {}

При использовании атрибута стандартное соглашение заключается в исключении слова, например:

[Alert()]

С Атрибуты (C # и Visual Basic) на http://msdn.microsoft.com/en-us/library/z0w1kczw.aspx

По соглашению все имена атрибутов заканчиваются словом "Атрибут" для отличить их от других элементов .NET Framework. Тем не менее, вы не нужно указывать суффикс атрибута при использовании атрибутов в код. Например, [DllImport] эквивалентен [DllImportAttribute], но DllImportAttribute - это фактическое имя атрибута в .NET Framework.

5 голосов
/ 05 октября 2009

Они одинаковые. Вы склонны видеть полное имя в сгенерированном коде, особенно это выводится через CodeDom.

Вы можете использовать любой из них. Компилятор генерирует то же самое в конце.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...