Catel.Fody.CatelTypeProperty.DetermineMethods C# (CSharp) Method

DetermineMethods() private method

private DetermineMethods ( ) : void
return void
        private void DetermineMethods()
        {
            string methodName = $"On{PropertyDefinition.Name}Changed";

            var declaringType = PropertyDefinition.DeclaringType;

            var callbackReferences = (from method in declaringType.Methods
                                     where method.Name == methodName
                                     select method).ToList();

            foreach (var callbackReference in callbackReferences)
            {
                if (callbackReference != null)
                {
                    if (callbackReference.HasParameters)
                    {
                        FodyEnvironment.LogWarning($"Method '{declaringType.FullName}.{callbackReference.Name}' matches automatic change method name but has parameters and will not be used as automatic change callback. Rename the method to remove this warning or remove parameters to use as automatic callback method.");
                        continue;
                    }

                    MethodReference finalCallbackReference = callbackReference;
                    if (declaringType.HasGenericParameters)
                    {
                        finalCallbackReference = finalCallbackReference.MakeGeneric(declaringType);
                    }

                    ChangeCallbackReference = finalCallbackReference;
                    break;
                }
            }
        }