Атрибут - это украшения, в которых хранятся метаданные или информация о типе.
.Net Framework интенсивно использует эту информацию для дополнительной обработки при создании экземпляров.
Атрибут создается только по запросу другого класса, например с Type.GetCustomAttributes (). Таким образом, даже вы можете создавать свои собственные атрибуты, а затем запрашивать ваши пользовательские атрибуты.
public class MyOwnAttribute: Attribute {}
/ * в какой-то момент в другом классе * /
void CheckIfClassIsDecoratedWithMyOwnAttribute()
{
var instance = new MyClass();
if (instance.GetType().GetCustomAttributes(typeof(MyOwnAttribute)))
{
//do whatever you want
}
}