Class CodeBuilder
- Namespace
- JD.Domain.Generators.Core
- Assembly
- JD.Domain.Generators.Core.dll
Fluent builder for generating C# code with proper formatting and indentation.
public sealed class CodeBuilder
- Inheritance
-
CodeBuilder
- Inherited Members
Constructors
CodeBuilder(string)
Initializes a new instance of the CodeBuilder class.
public CodeBuilder(string indentString = " ")
Parameters
indentStringstringThe string to use for indentation (default is 4 spaces).
Methods
Append(string)
Appends text without a newline.
public CodeBuilder Append(string text)
Parameters
textstring
Returns
AppendLine(string?)
Appends a line of code with current indentation.
public CodeBuilder AppendLine(string? line = null)
Parameters
linestring
Returns
AutoGeneratedHeader(string, string?, DateTimeOffset?)
Appends the auto-generated file header.
public CodeBuilder AutoGeneratedHeader(string generatorName, string? version = null, DateTimeOffset? generatedAt = null)
Parameters
generatorNamestringversionstringgeneratedAtDateTimeOffset?
Returns
BeginClass(string, string?, string?, string?)
Begins a class declaration.
public CodeBuilder BeginClass(string className, string? accessibility = "public", string? modifiers = null, string? baseType = null)
Parameters
Returns
BeginNamespace(string)
Begins a namespace block.
public CodeBuilder BeginNamespace(string namespaceName)
Parameters
namespaceNamestring
Returns
CloseBrace()
Decreases indentation and appends a closing brace.
public CodeBuilder CloseBrace()
Returns
EndClass()
Ends a class declaration.
public CodeBuilder EndClass()
Returns
EndNamespace()
Ends a namespace block.
public CodeBuilder EndNamespace()
Returns
Indent()
Increases the indentation level.
public CodeBuilder Indent()
Returns
OpenBrace()
Appends an opening brace and increases indentation.
public CodeBuilder OpenBrace()
Returns
ToString()
Returns the built code as a string.
public override string ToString()
Returns
Unindent()
Decreases the indentation level.
public CodeBuilder Unindent()
Returns
Using(string)
Appends a using directive.
public CodeBuilder Using(string namespaceName)
Parameters
namespaceNamestring
Returns
Usings(params string[])
Appends multiple using directives in sorted order.
public CodeBuilder Usings(params string[] namespaces)
Parameters
namespacesstring[]