Я использую Fody с плагином MethodDecorator для перехвата свойств помеченной сборки и атрибута данных.
AssemblyInfo.cs
[module: IntersectMethodsMarkedBy(typeof(DataContractAttribute))]
Теперь в моем классе Interceptor:
[AttributeUsage(AttributeTargets.Module | AttributeTargets.Assembly | AttributeTargets.Property]
public class IntersectMethodsMarkedByAttribute : Attribute
{
// All of the Fody code for intercepting.
}
В классах, которые я хочу перехватить свойства:
[DataContract(Name = "Name", Namesace = "TheNamespace")]
Теперь, ничего не указывает, я хочу только операции get, но когда я использую ILSpy для декомпиляции кода, он имеет только fody специфицированный c код вплетен в каждый get{ }
, а не set{ }
.
Код работает точно так, как задумано, в противном случае свойства каждой сборки, которую я указал для декорирования, оформляются и вызываются. У всех свойств есть также get и set, указанные в моем коде, поэтому я не ожидаю, что они будут работать magi c и добавят ILCode для get, которые не существуют!