Как вы можете видеть в MSDN, это только свойство getter, а не setter.
public static CategoryAttribute Appearance { get; }
На самом деле, вот как выглядит код с использованием Reflector:
public static CategoryAttribute Appearance
{
get
{
if (appearance == null)
{
appearance = new CategoryAttribute("Appearance");
}
return appearance;
}
}
Так что это не очень много значит.
Единственное использование, которое я вижу, это примерно так:
foreach (CategoryAttribute attrib in prop.GetCustomAttributes(typeof(CategoryAttribute), false))
{
bool result = attrib.Equals(CategoryAttribute.Appearance);
}
По сути, при использовании отражения для просмотра класса вы можете легко проверить, к какой категории он относится, без сравнения строк. Но вы не можете использовать это так, как вы, к сожалению, пытаетесь.