protected override void WriteMethodInterfaceImplementations(MethodDefinition method) { ICollection<ImplementedMember> implementedMethods = method.GetImplementedMethods(); if (method.IsExplicitImplementation()) { if (implementedMethods.Any()) { WriteImplementedMembers(implementedMethods); } } else { ICollection<ImplementedMember> notExplicitlyImplementedMethods = GetNotExplicitlyImplementedMembers(implementedMethods); if (notExplicitlyImplementedMethods.Any()) { WriteImplementedMembers(notExplicitlyImplementedMethods); } } }
/// <summary> /// Does the given method require some kind of interface conversion /// </summary> private static bool NeedsConversion(MethodDefinition method) { if (method.IsExplicitImplementation()) return true; if (method.DeclaringType.IsInterface) { if (method.ContainsGenericParameter) return true; } return false; }