There is no difference. The standard convention for naming a class is to add the word "Attribute", as in:
public class AlertAttribute : Attribute {}
When using the attribute, the standard convention is to exclude the word, as in:
[Alert()]
From attributes (C # and Visual Basic) to http://msdn.microsoft.com/en-us/library/z0w1kczw.aspx
"" .NET Framework. . , [DllImport] [DllImportAttribute], DllImportAttribute - .NET. Framework.