public override string CSharpSignature(CSharpTypePrinterContext ctx)
{
var type = Type as TemplateSpecializationType;
var args = type.Arguments.Select(arg => arg.Type.ToString()).
ToList();
var output = "System.Action";
if (args.Count > 0)
output += string.Format("<{0}>", string.Join(", ", args));
return output;
}