Table of Contents

Class T4CodeBuilder

Namespace
JD.Domain.T4.Shims
Assembly
JD.Domain.T4.Shims.dll

Simple code builder for T4 templates.

public sealed class T4CodeBuilder
Inheritance
T4CodeBuilder
Inherited Members

Constructors

T4CodeBuilder(string)

Initializes a new instance of the T4CodeBuilder class.

public T4CodeBuilder(string indentString = "    ")

Parameters

indentString string

The string to use for indentation.

Methods

AppendLine(string)

Appends a line with the current indentation.

public T4CodeBuilder AppendLine(string line = "")

Parameters

line string

The line to append.

Returns

T4CodeBuilder

This builder for chaining.

AutoGeneratedHeader(string)

Appends an auto-generated header comment.

public T4CodeBuilder AutoGeneratedHeader(string toolName = "JD.Domain.T4")

Parameters

toolName string

The name of the generating tool.

Returns

T4CodeBuilder

This builder for chaining.

Block(string, Action<T4CodeBuilder>)

Appends a block with braces.

public T4CodeBuilder Block(string header, Action<T4CodeBuilder> content)

Parameters

header string

The block header.

content Action<T4CodeBuilder>

Action to build content inside the block.

Returns

T4CodeBuilder

This builder for chaining.

Class(string, string, string?, Action<T4CodeBuilder>)

Appends a class block.

public T4CodeBuilder Class(string className, string modifiers, string? baseClass, Action<T4CodeBuilder> content)

Parameters

className string

The class name.

modifiers string

Class modifiers (e.g., "public partial").

baseClass string

Optional base class.

content Action<T4CodeBuilder>

Action to build content inside the class.

Returns

T4CodeBuilder

This builder for chaining.

Indent()

Increases the indentation level.

public T4CodeBuilder Indent()

Returns

T4CodeBuilder

This builder for chaining.

Namespace(string, Action<T4CodeBuilder>)

Appends a namespace block.

public T4CodeBuilder Namespace(string namespaceName, Action<T4CodeBuilder> content)

Parameters

namespaceName string

The namespace name.

content Action<T4CodeBuilder>

Action to build content inside the namespace.

Returns

T4CodeBuilder

This builder for chaining.

Property(string, string, string, string)

Appends a property.

public T4CodeBuilder Property(string type, string name, string accessors = "get; set;", string modifiers = "public")

Parameters

type string

The property type.

name string

The property name.

accessors string

The accessors (e.g., "get; set;").

modifiers string

Optional modifiers.

Returns

T4CodeBuilder

This builder for chaining.

ToString()

Returns the built code as a string.

public override string ToString()

Returns

string

Unindent()

Decreases the indentation level.

public T4CodeBuilder Unindent()

Returns

T4CodeBuilder

This builder for chaining.

Usings(params string[])

Appends using statements.

public T4CodeBuilder Usings(params string[] namespaces)

Parameters

namespaces string[]

The namespaces to use.

Returns

T4CodeBuilder

This builder for chaining.