CodeWriter class
namespace: Serenity.Reflection assembly: Serenity.Net.Core
Used to write formatted code to a string builder.
public class CodeWriter
Public Members
name | description |
---|---|
CodeWriter(…) | Initializes a new instance of the CodeWriter class. (3 constructors) |
AllowUsing { get; set; } | Gets sets function that determines if a namespace is allowed to be added to the local usings |
BraceOnSameLine { get; set; } | Whether to put opening brace on the same line. |
Builder { get; } | Gets internal string builder |
CurrentNamespace { get; set; } | Gets / sets current namespace |
FileComment { get; set; } | Gets / sets file comment |
FileScopedNamespaces { get; set; } | Use a file scoped namespace instead. Can only be used with one namespace per file. |
GlobalUsings { get; set; } | Gets / sets global usings hash set |
IsCSharp { get; set; } | Gets / sets if the code writer is used for generating C# code. |
LocalUsings { get; } | Gets / sets local usings hash set |
Tab { get; } | Gets tab string |
Append(…) | Appends text to internal string builder (2 methods) |
AppendLine() | Appends a line to internal string builder |
AppendLine(…) | Appends a line to internal string builder |
Block(…) | Increases indent, runs the insideBlock and decreases indent back. |
DecreaseIndent() | Decreases indenting by tab size |
EndBrace(…) | Decreases indent and closes the brace |
InBrace(…) | Adds a brace, increases indent, runs the inside block, decreases indent back, closes the brace. |
IncreaseIndent() | Increases indenting using tab string |
Indent() | Appends current indent |
Indented(…) | Appends current indent and the specified string |
IndentedLine(…) | Appends current indent, the specified string, and a new line. |
IndentedMultiLine(…) | Appends each of the text's lines with current indent, and a new line. |
InNamespace(…) | Executes action by opening namespace if it is not null or empty |
Insert(…) | Inserts string to internal string builder |
IsUsing(…) | Returns true if the namespace is in list of usings. |
ShortTypeName(…) | Tries to add namespace (3 methods) |
StartBrace() | Adds a brace, increases indent. |
override ToString() | Returns string representation of internal string builder, including file comment and any local usings if any |
Using(…) | Returns true if the namespace is in list of usings. If AllowUsing callback is null or returns true, or force is true, this may add it to the list of local usings. (2 methods) |
static IsCSKeyword(…) | Determines is Type is a C# primitive keyword |
static ToCSKeyword(…) | Converts primitive class to C# keyword if given class is not a primitive class returns null. |
See Also
- Source: CodeWriter.cs