protected override string VisitGenericMethod(GenericMethodInfoSlim method) { var map = method.GenericMethodDefinition.GenericParameterTypes.Zip(method.GenericArguments, (p, a) => (p, a)).ToDictionary(pa => pa.p, pa => pa.a); var subst = new GenericParameterTypeSubstPrinter(map); var declaringType = _typePrinter.Visit(method.DeclaringType); var parameterTypes = string.Join(", ", subst.Visit(method.GenericMethodDefinition.ParameterTypes)); var returnType = subst.Visit(method.GenericMethodDefinition.ReturnType); var genericArgumentTypes = string.Join(", ", _typePrinter.Visit(method.GenericArguments)); return(string.Format(CultureInfo.InvariantCulture, "{3} {0}.{1}<{4}>({2})", declaringType, method.GenericMethodDefinition.Name, parameterTypes, returnType, genericArgumentTypes)); }
protected override string MakeGenericMethod(GenericMethodInfoSlim method, string methodDefinition) { throw new NotImplementedException(); }