public EventInvokerMethod AddOnPropertyChangedMethod(TypeDefinition targetType)
{
var propertyChangedField = FindPropertyChangedField(targetType);
if (propertyChangedField == null)
{
return null;
}
if (interceptorFinder.Found)
{
var methodDefinition = GetMethodDefinition(targetType, propertyChangedField);
return new EventInvokerMethod
{
MethodReference = InjectInterceptedMethod(targetType, methodDefinition).GetGeneric(),
IsBeforeAfter = interceptorFinder.IsBeforeAfter,
};
}
return new EventInvokerMethod
{
MethodReference = InjectMethod(targetType, eventInvokerNameResolver.EventInvokerNames.First(), propertyChangedField).GetGeneric(),
IsBeforeAfter = false,
};
}