public virtual void Write(ICodeFragment fragment, IOutputCache output) { LambdaTemplate template = (LambdaTemplate)fragment; output.Add("("); if (template.Parameters != null) { output.Add(template.Parameters, ", "); } else if (template.ParameterNames?.Count == 1) { output.Add(template.ParameterNames[0]); } else if (template.ParameterNames?.Count > 1) { output.Add(string.Join(", ", template.ParameterNames)); } output.Add(")") .Add(" =>"); if (template.Code is MultilineCodeFragment) { output.StartBlock(); } else { output.Add(" "); } output.Add(template.Code); if (template.Code is MultilineCodeFragment) { output.EndBlock(this.options.Formatting.StartBlockInNewLine); } }
public void LambdaMultiline() { LambdaTemplate template = new LambdaTemplate("parameter", Code.Multiline().AddLine(Code.Local("parameter").Method("test").Close())); LambdaWriter writer = new LambdaWriter(); writer.Write(template, this.output); Assert.AreEqual("parameter =>\r\n{\r\n parameter.test();\r\n}", this.output.ToString()); }
public void LambdaWriter() { LambdaTemplate template = new LambdaTemplate("parameter", Code.Local("parameter").Method("test")); LambdaWriter writer = new LambdaWriter(); writer.Write(template, this.output); Assert.AreEqual("parameter => parameter.test()", this.output.ToString()); }
public virtual void Write(ICodeFragment fragment, IOutputCache output) { LambdaTemplate template = (LambdaTemplate)fragment; output.Add(template.ParameterName ?? "()") .Add(" =>"); if (template.Code is MultilineCodeFragment) { output.StartBlock(); } else { output.Add(" "); } output.Add(template.Code); if (template.Code is MultilineCodeFragment) { output.EndBlock(output.Language.Formatting.StartBlockInNewLine); } }