Мои поиски продолжают открывать только руководства, объясняющие, как использовать и применять атрибуты к классу. Я хочу научиться создавать свои собственные классы атрибутов и механизмы их работы.
Как создаются классы атрибутов? Являются ли они экземплярами, когда экземпляр класса применяется? Является ли экземпляр экземпляра для каждого класса, созданного для его применения? Например. если я применил класс SerializableAttribute к классу MyData, и я создам экземпляр 5 экземпляров MyData, будет ли 5 экземпляров класса SerializbleAttribute, созданного за кулисами? Или существует только один экземпляр, разделяемый всеми из них?
Как экземпляры класса атрибутов доступа к классу, с которым они связаны? Как класс SerializableAttribute обращается к классу, к которому он применяется, чтобы он мог сериализовать данные? Имеет ли какое-то свойство SerializableAttribute.ThisIsTheInstanceIAmAppliedTo?:) Или это работает в обратном направлении, что всякий раз, когда я сериализую что-то, функция Serialize, через которую я передаю экземпляр MyClass, будет рефлексивно проходить через атрибуты и найти экземпляр SerialiableAttribute?