public static void AcceptVisitor <TResult> ( this MethodReference methodReference, MetadataVisitor <TResult> visitor) { if (!visitor.ShouldTraverseInto(visitor.VisitMethodReference(methodReference))) { return; } if (methodReference.HasGenericParameters) { methodReference.GenericParameters.AcceptVisitor(visitor); } if (methodReference.HasParameters) { foreach (var parameter in methodReference.Parameters) { parameter.AcceptVisitor(visitor); } } methodReference.ReturnType.AcceptVisitor(visitor); methodReference.DeclaringType.AcceptVisitor(visitor); }