public void WriteCode(StringBuilder strBldr) { var idnt = useIndent ? indentCount : 0; var nextIdnt = useIndent ? idnt + 1 : 0; var idntStr = CodeGeneratorUtil.CreateIndent(idnt); var nextIdntStr = CodeGeneratorUtil.CreateIndent(nextIdnt); strBldr.Append(accessModifier.ToAccessModifierStr().Indent(idntStr)); strBldr.Append(" "); if (isStatic) { strBldr.Append(CodeGeneratorConst.STATIC_STR); strBldr.Append(" "); } strBldr.Append(returnType); strBldr.Append(" "); strBldr.Append(name); // write parameter strBldr.Append("("); { if (isExtensionsMethod) { strBldr.Append("this"); strBldr.Append(" "); } for (int prmtrIdx = 0; prmtrIdx < _parameters.Count; ++prmtrIdx) { var prmtr = _parameters[prmtrIdx]; strBldr.Append(prmtr.parameterType); strBldr.Append(" "); strBldr.Append(prmtr.parameterName); if ((_parameters.Count - 1) > prmtrIdx) { strBldr.Append(","); strBldr.Append(" "); } } } strBldr.Append(")"); strBldr.AppendLine(); strBldr.AppendLine("{".Indent(idntStr)); { var iter = _lineCodes.GetEnumerator(); while (iter.MoveNext()) { var curLine = iter.Current; curLine.WriteCode(strBldr); } } strBldr.AppendLine("}".Indent(idntStr)); strBldr.AppendLine(); }