[DebuggerDisplayAttribute("{_name}")]
против
[DebuggerDisplay("{_name}")]
Есть ли разница? Один псевдоним другого? Проверяет ли VS автоматически наличие класса с именем fooAttribute при использовании атрибута с именем foo?
Они одинаковы, компилятор C # сможет определить тип независимо от того, пишете ли вы Attribute в конце или нет.
Разницы нет. Стандартное соглашение при именовании класса заключается в добавлении слова 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.
Они одинаковые. Вы склонны видеть полное имя в сгенерированном коде, особенно это выводится через CodeDom.
Вы можете использовать любой из них. Компилятор генерирует то же самое в конце.