public Action <ILNameSyntax> GetFunctionPointerType(MethodSignature <Action <ILNameSyntax> > signature) { return(syntax => { output.Write("method "); signature.ReturnType(syntax); output.Write(" *("); for (int i = 0; i < signature.ParameterTypes.Length; i++) { if (i > 0) { output.Write(", "); } signature.ParameterTypes[i](syntax); } output.Write(')'); }); }