public override void ToCSharp(StringBuilder stringBuilder, int indentationLevel, TemplateSettings settings)
        {
            string modifiedID = GetModifiedID(settings);

            if (string.IsNullOrEmpty(modifiedID))
            {
                base.ToCSharp(stringBuilder, indentationLevel, settings);
            }
            else
            {
                //Start
                stringBuilder.AppendIndentations(indentationLevel);
                TemplateBuilder.BeginColorBlock(stringBuilder, settings, TemplateSettings.SYSTEM_KEYWORD_COLOR);
                stringBuilder.Append("namespace ");
                TemplateBuilder.EndColorBlock(stringBuilder, settings, TemplateSettings.SYSTEM_KEYWORD_COLOR);
                stringBuilder.Append(modifiedID);
                stringBuilder.Append("\n");
                stringBuilder.AppendIndentations(indentationLevel);
                stringBuilder.Append("{\n");

                //Body
                base.ToCSharp(stringBuilder, indentationLevel + 1, settings);

                //End
                stringBuilder.Append("\n");
                stringBuilder.AppendIndentations(indentationLevel);
                stringBuilder.Append("}");
            }
        }
Beispiel #2
0
        /// Converts the XML object into C# and adds it to the string builder
        public override void ToCSharp(StringBuilder stringBuilder, int indentationLevel, TemplateSettings settings)
        {
            //Signature
            stringBuilder.AppendIndentations(indentationLevel);
            TemplateBuilder.BeginColorBlock(stringBuilder, settings, TemplateSettings.ACCESSIBILITY_KEYWORD_COLOR);
            stringBuilder.Append(accessibility);
            TemplateBuilder.EndColorBlock(stringBuilder, settings, TemplateSettings.ACCESSIBILITY_KEYWORD_COLOR);
            stringBuilder.AppendSpace();
            TemplateBuilder.BeginColorBlock(stringBuilder, settings, TemplateSettings.SYSTEM_KEYWORD_COLOR);
            stringBuilder.AppendIf("static ", isStatic);
            stringBuilder.AppendIf("sealed ", isSealed);

            if (virtuality != Virtuality.none)
            {
                stringBuilder.Append(virtuality.ToString().Replace("@", null));
                stringBuilder.AppendSpace();
            }
            TemplateBuilder.EndColorBlock(stringBuilder, settings, TemplateSettings.SYSTEM_KEYWORD_COLOR);

            if (!string.IsNullOrEmpty(returnType))
            {
                TemplateBuilder.BeginColorBlock(stringBuilder, settings, TemplateSettings.TYPE_COLOR);
                stringBuilder.Append(returnType ?? "void");
                TemplateBuilder.EndColorBlock(stringBuilder, settings, TemplateSettings.TYPE_COLOR);
                stringBuilder.AppendSpace();
            }

            stringBuilder.Append(id);

            //Arguments
            stringBuilder.Append("(");

            for (int i = 0; i < arguments.Count; ++i)
            {
                XmlArgument argument = arguments[i];

                TemplateBuilder.BeginColorBlock(stringBuilder, settings, TemplateSettings.TYPE_COLOR);
                stringBuilder.Append(argument.type ?? "?");
                TemplateBuilder.EndColorBlock(stringBuilder, settings, TemplateSettings.TYPE_COLOR);
                stringBuilder.AppendSpace();
                stringBuilder.Append(argument.id ?? "?");

                if (i < arguments.Count - 1)
                {
                    stringBuilder.Append(", ");
                }
            }

            stringBuilder.Append(")");


            //Body
            if (virtuality == Virtuality.@abstract)
            {
                stringBuilder.Append(";\n");
            }
            else
            {
                stringBuilder.Append("\n");
                stringBuilder.AppendIndentations(indentationLevel);
                stringBuilder.Append("{\n");

                base.ToCSharp(stringBuilder, indentationLevel + 1, settings);
                stringBuilder.Append("\n");

                stringBuilder.AppendIndentations(indentationLevel);
                stringBuilder.Append("}");
            }
        }
 public override bool ShouldUse(TemplateSettings settings)
 {
     return(true);
 }