Summary
[Editor-Only] Base class for building a particular type of member in a procedural C# script.
- Assembly
- Weaver
.dll - Namespace
- Weaver
.Editor .Procedural .Scripting - Base Types
-
- Object
- ElementBuilder
- Derived Types
graph BT
Type-->Base0["ElementBuilder"]
click Base0 "/weaver/api/Weaver.Editor.Procedural.Scripting/ElementBuilder"
Base0-->Base1["Object"]
Type["MemberBuilder"]
class Type type-node
Derived0["PropertyBuilder"]-->Type
click Derived0 "/weaver/api/Weaver.Editor.Procedural.Scripting/PropertyBuilder"
Derived1["MethodBuilder"]-->Type
click Derived1 "/weaver/api/Weaver.Editor.Procedural.Scripting/MethodBuilder"
Derived2["ConstructorBuilder"]-->Type
click Derived2 "/weaver/api/Weaver.Editor.Procedural.Scripting/ConstructorBuilder"
Derived3["TypeBuilder"]-->Type
click Derived3 "/weaver/api/Weaver.Editor.Procedural.Scripting/TypeBuilder"
Derived4["FieldBuilder"]-->Type
click Derived4 "/weaver/api/Weaver.Editor.Procedural.Scripting/FieldBuilder"
Syntax
public abstract class MemberBuilder : ElementBuilder
Constructors
Name | Summary |
---|---|
MemberBuilder |
Creates a new Weaver.Editor.Procedural.Scripting.MemberBuilder with default values.
Consider using one of the overloads of Get instead, in order to utilise object pooling to minimise memory
allocation and garbage collection.
|
Fields
Name | Constant Value | Summary |
---|---|---|
Default |
The default delegate to use to build the XML comment for this element.
Assigned using the return value of
Weaver.Editor.Procedural.Scripting.ElementBuilder.GetDefaultCommentBuilder .
Inherited from ElementBuilder
|
|
DefaultModifiers |
The default access modifiers for this member.
|
Properties
Name | Value | Summary |
---|---|---|
Attribute |
Action |
The methods used to build the constructor of each custom attribute for this member.
|
Attributes | Type[] |
The custom attribute types for this member.
|
CommentBuilder | Action |
This delegate is used to append the XML comment for this element. By default it will simply append the
Weaver.Editor.Procedural.Scripting.ElementBuilder.NameSource .
Inherited from ElementBuilder
|
Compilation |
int |
The index in
Weaver.Editor.Procedural.Scripting.ScriptBuilder.CompilationSymbols of the symbol in which this element will be declared, I.E. #if SYMBOL.
Inherited from ElementBuilder
|
ExistingMember | MemberInfo |
The
System.Reflection.MemberInfo of the member with the same type and name as this builder.
This property is gathered during Weaver.Editor.Procedural.Scripting.MemberBuilder.PrepareToBuild(System.Boolean,System.Boolean@) .
|
FullName | string |
Returns the full name of this element, including its
Weaver.Editor.Procedural.Scripting.ElementBuilder.Parent (and any types and namespaces it
is nested inside).
Inherited from ElementBuilder
|
HasExistingMember | bool |
Returns true if this element is associated with an existing
System.Reflection.MemberInfo .
|
IsFallbackName | bool |
Indicates whether the current
Weaver.Editor.Procedural.Scripting.ElementBuilder.Name of this element is the primary name derived from the
Weaver.Editor.Procedural.Scripting.ElementBuilder.NameSource . A value of false means that there was a name conflict between this element and
another, and the Weaver.Editor.Procedural.Scripting.ElementBuilder.Name was re-derived using Weaver.Editor.Procedural.Scripting.ScriptBuilder.GetFallbackMemberName(System.String,System.String) .
Inherited from ElementBuilder
|
MemberType | MemberTypes |
The type of member which this element builds.
Inherited from ElementBuilder
|
Modifiers | AccessModifiers |
The access modifiers of this member.
|
Name | string |
The actual
Weaver.Editor.Procedural.Scripting.ElementBuilder.Name of this element.
This value is derived from Weaver.Editor.Procedural.Scripting.ElementBuilder.NameSource during Weaver.Editor.Procedural.Scripting.ElementBuilder.PrepareToBuild(System.Boolean,System.Boolean@) .
Inherited from ElementBuilder
|
NameSource | string |
The source string which will be used to determine the actual
Weaver.Editor.Procedural.Scripting.ElementBuilder.Name of this element.Inherited from ElementBuilder
|
Namespace | string |
The name of the
Weaver.Editor.Procedural.Scripting.NamespaceBuilder containing this type (or null if there isn't one).Inherited from ElementBuilder
|
Parent | IElementBuilderGroup |
The builder of the type in which this element will be declared.
Inherited from ElementBuilder
|
RegionIndex | int |
The index in
Weaver.Editor.Procedural.Scripting.ScriptBuilder.Regions of the region in which this element will be declared, I.E. #region Region Name.
Inherited from ElementBuilder
|
ScriptBuilder | ScriptBuilder |
The
Weaver.Editor.Procedural.Scripting.ScriptBuilder in which this element is currently being used.
Inherited from ElementBuilder
|
Methods
Name | Value | Summary |
---|---|---|
AppendDescription |
void |
Appends a description of this element by calling
Weaver.Editor.Procedural.Scripting.ElementBuilder.ToString on it.
Inherited from ElementBuilder
|
AppendFullName |
void |
Appends the full name of this element, including its
Weaver.Editor.Procedural.Scripting.ElementBuilder.Parent (and any types and namespaces it
is nested inside).
Inherited from ElementBuilder
|
AppendHeader |
void |
Appends a C# XML comment using the
Weaver.Editor.Procedural.Scripting.ElementBuilder.CommentBuilder followed by any
Weaver.Editor.Procedural.Scripting.MemberBuilder.Attributes .
|
AppendScript |
void |
Appends the declaration of this element in C# code to the specified `text`.
Inherited from ElementBuilder
|
DetermineMemberName |
void |
Uses the specified
Weaver.Editor.Procedural.Scripting.ScriptBuilder.GetMemberName(System.String,System.String,System.Boolean@) to determine the Weaver.Editor.Procedural.Scripting.ElementBuilder.Name of this element.
Inherited from ElementBuilder
|
Get |
Action |
Returns the default method to use to build XML comments for this element. Called once by the constructor.
Inherited from ElementBuilder
|
GetDescription |
string |
Gets a description of this element by calling
Weaver.Editor.Procedural.Scripting.ElementBuilder.ToString on it and any sub-members.
Inherited from ElementBuilder
|
Initialize |
void |
Assigns the specified parameters to this element and determines the
Weaver.Editor.Procedural.Scripting.ElementBuilder.Name .
Inherited from ElementBuilder
|
IsExistingMember |
bool |
Checks if the
Weaver.Editor.Procedural.Scripting.ElementBuilder.Name of this member matches the name of the `existingMember`.
Overrides of this method should check other factors to ensure that the existing member matches this builder
(such as field type and access modifiers) and if so, cache the member so it can be returned by Weaver.Editor.Procedural.Scripting.MemberBuilder.ExistingMember .
|
ReleaseToPool |
void |
Resets this element and adds it to its object pool to be reused later.
Inherited from ElementBuilder
|
Reset |
void |
Reset all of the fields and properties of this member to their default values.
|
Set |
void |
Sets the
Weaver.Editor.Procedural.Scripting.MemberBuilder.AttributeConstructorBuilders array. |
SetAttributes |
void |
Sets the
Weaver.Editor.Procedural.Scripting.MemberBuilder.Attributes array. |
SetName |
void |
Sets the
Weaver.Editor.Procedural.Scripting.ElementBuilder.Name and Weaver.Editor.Procedural.Scripting.ElementBuilder.NameSource .Inherited from ElementBuilder
|
ToString |
string |
Returns a summary of this element including its type,
Weaver.Editor.Procedural.Scripting.ElementBuilder.NameSource , Weaver.Editor.Procedural.Scripting.ElementBuilder.Name , and Weaver.Editor.Procedural.Scripting.ElementBuilder.FullName .
Inherited from ElementBuilder
|