Учитывая экземпляр атрибута, невозможно определить, из какого класса, поля, метода и т. Д. ... возник этот атрибут.Прежде всего потому, что к нему не нужно привязываться.Все атрибуты могут быть созданы так же, как обычный объект, и, следовательно, ни к чему не могут быть присоединеныпервое место.
Можно пойти и другим путем.По заданному члену или типу выяснить, применяется ли к нему данный атрибут.Например, предполагая, что к типу SomeType
подключен единственный экземпляр UnqiueAttribute
, этот код будет его извлекать.
var type = typeof(SomeType);
var attrib = (UniqueAtrtibute)type.GetCustomAttributes(typeof(UnqiueAttribute),true)[0];