Class CsDelegate
Data model that represents the definition of a delegate.
Implements
Inherited Members
Namespace: CodeFactory.DotNet.CSharp
Assembly: CodeFactory.DotNet.dll
Syntax
public abstract class CsDelegate : CsModel, ICsDelegate, ICsModel, ICsAttributes, ICsGeneric, IDotNetDelegate, IDotNetModel, IModelStatus, IDotNetAttributes, IDotNetGeneric, IDocumentation, ILookup, ISourceFiles, IParent, IParent
Constructors
| Improve this Doc View SourceCsDelegate(bool, bool, bool, SourceCodeType, IReadOnlyList<CsAttribute>, bool, bool, IReadOnlyList<CsGenericParameter>, IReadOnlyList<CsType>, bool, string, string, string, IReadOnlyList<string>, string, string, bool, bool, string, CsSecurity, CsType, IReadOnlyList<CsParameter>, CsMethod, CsMethod, CsMethod, string, ModelStore<ICsModel>, IReadOnlyList<ModelLoadException>)
Constructor for the CsDelegate
Declaration
protected CsDelegate(bool isLoaded, bool hasErrors, bool loadedFromSource, SourceCodeType language, IReadOnlyList<CsAttribute> attributes, bool isGeneric, bool hasStrongTypesInGenerics, IReadOnlyList<CsGenericParameter> genericParameters, IReadOnlyList<CsType> genericTypes, bool hasDocumentation, string documentation, string lookupPath, string modelSourceFile, IReadOnlyList<string> sourceFiles, string name, string ns, bool hasParameters, bool isVoid, string parentPath, CsSecurity security, CsType returnType, IReadOnlyList<CsParameter> parameters, CsMethod invokeMethod, CsMethod beginInvokeMethod, CsMethod endInvokeMethod, string sourceDocument = null, ModelStore<ICsModel> modelStore = null, IReadOnlyList<ModelLoadException> modelErrors = null)
Parameters
Type | Name | Description |
---|---|---|
bool | isLoaded | Flag that determines if the model was loaded. |
bool | hasErrors | Flag that determine if errors were found creating the model. |
bool | loadedFromSource | Flag that determines if the model was loaded from source code or from an existing library. |
SourceCodeType | language | The target language the model was generated from. |
IReadOnlyList<CsAttribute> | attributes | List of the attributes assigned to this model. |
bool | isGeneric | Flag that determines if the delegate is a generic definition. |
bool | hasStrongTypesInGenerics | Flag that determines if the generics use strong type definitions. |
IReadOnlyList<CsGenericParameter> | genericParameters | Generic parameters assigned to the delegate. |
IReadOnlyList<CsType> | genericTypes | Target types for the generic parameters assigned to the delegate. |
bool | hasDocumentation | Flag that determines if the model has XML documentation assigned to it. |
string | documentation | The xml documentation assigned to the model. |
string | lookupPath | The fully qualified model lookup path for this model. |
string | modelSourceFile | The source code file the model was created from. |
IReadOnlyList<string> | sourceFiles | List of the fully qualified paths to the source code files this member is defined in. |
string | name | The name of the model. |
string | ns | The namespace this delegate is assigned to. |
bool | hasParameters | Flag that determines if the delegate had parameters. |
bool | isVoid | Flag that determines if the return type is void. |
string | parentPath | THe fully qualified lookup path for the parent model to this one. |
CsSecurity | security | The security scope assigned to this model. |
CsType | returnType | The type definition for the return type. |
IReadOnlyList<CsParameter> | parameters | The parameters assigned to the delegate. |
CsMethod | invokeMethod | The invoke method definition assigned to this delegate. |
CsMethod | beginInvokeMethod | The begin invoke method definition assigned to this delegate. |
CsMethod | endInvokeMethod | The end invoke method definition assigned to this delegate. |
string | sourceDocument | The source document that was used to build this model. This is optional parameter and can be null. |
ModelStore<ICsModel> | modelStore | Optional the lookup storage for models created during the compile or lookup of the model. |
IReadOnlyList<ModelLoadException> | modelErrors | Optional the error that occurred while creating the model. |
Properties
| Improve this Doc View SourceAttributes
The attributes assigned to this item. If the HasAttributes is false this will be an empty list.
Declaration
public IReadOnlyList<CsAttribute> Attributes { get; }
Property Value
Type | Description |
---|---|
IReadOnlyList<CsAttribute> |
BeginInvokeMethod
The begin invoke delegate definition for this delegate.
Declaration
public CsMethod BeginInvokeMethod { get; }
Property Value
Type | Description |
---|---|
CsMethod |
Documentation
Documentation that has been assigned to this model.
Declaration
public string Documentation { get; }
Property Value
Type | Description |
---|---|
string |
EndInvokeMethod
The end invoke delegate definition for this delegate.
Declaration
public CsMethod EndInvokeMethod { get; }
Property Value
Type | Description |
---|---|
CsMethod |
GenericParameters
List of the generic parameters assigned.
Declaration
public IReadOnlyList<CsGenericParameter> GenericParameters { get; }
Property Value
Type | Description |
---|---|
IReadOnlyList<CsGenericParameter> |
GenericTypes
List of the strong types that are implemented for each generic parameter. This will be an empty List when there is no generic types implemented.
Declaration
public IReadOnlyList<CsType> GenericTypes { get; }
Property Value
Type | Description |
---|---|
IReadOnlyList<CsType> |
HasAttributes
Flag that determines if attributes are assigned.
Declaration
public bool HasAttributes { get; }
Property Value
Type | Description |
---|---|
bool |
HasDocumentation
Flag that determines if the model has code level documentation assigned to it.
Declaration
public bool HasDocumentation { get; }
Property Value
Type | Description |
---|---|
bool |
HasParameters
Flag that determines if the delegate has parameters assigned to it.
Declaration
public bool HasParameters { get; }
Property Value
Type | Description |
---|---|
bool |
HasStrongTypesInGenerics
Flag that determines if the generics implementation has strong types passed in to the generics implementation.
Declaration
public bool HasStrongTypesInGenerics { get; }
Property Value
Type | Description |
---|---|
bool |
InvokeMethod
The invoke delegate definition for this delegate.
Declaration
public CsMethod InvokeMethod { get; }
Property Value
Type | Description |
---|---|
CsMethod |
IsGeneric
Flag the determines if this item supports generics
Declaration
public bool IsGeneric { get; }
Property Value
Type | Description |
---|---|
bool |
IsVoid
Flag that determines if the delegate return is a void.
Declaration
public bool IsVoid { get; }
Property Value
Type | Description |
---|---|
bool |
LookupPath
The fully qualified path for this model that can be used when searching the source for the model.
Declaration
public string LookupPath { get; }
Property Value
Type | Description |
---|---|
string |
ModelSourceFile
Declaration
public string ModelSourceFile { get; }
Property Value
Type | Description |
---|---|
string |
Name
The name assigned to the this item.
Declaration
public string Name { get; }
Property Value
Type | Description |
---|---|
string |
Namespace
The namespace the delegate is assigned to.
Declaration
public string Namespace { get; }
Property Value
Type | Description |
---|---|
string |
Parameters
List of the parameters that have been assigned to the delegate. If HasParameters property is set to false this will be an empty list.
Declaration
public IReadOnlyList<CsParameter> Parameters { get; }
Property Value
Type | Description |
---|---|
IReadOnlyList<CsParameter> |
Parent
The parent to the current model. This will return null if there is no parent for this model, or the parent could not be located.
Declaration
public CsModel Parent { get; }
Property Value
Type | Description |
---|---|
CsModel |
ReturnType
The type information about the return type assigned to the delegate.
Declaration
public CsType ReturnType { get; }
Property Value
Type | Description |
---|---|
CsType |
Security
The security scope that has been assigned to this item.
Declaration
public CsSecurity Security { get; }
Property Value
Type | Description |
---|---|
CsSecurity |
SourceFiles
The source file or files in which the model was loaded from. This will be an empty enumeration if the source models were loaded from metadata only.
Declaration
public IReadOnlyList<string> SourceFiles { get; }
Property Value
Type | Description |
---|---|
IReadOnlyList<string> |
Methods
| Improve this Doc View SourceAddAfterAsync(string, string)
Adds the source code directly after the definition of the ICsDelegatein the target document.
Declaration
public abstract Task<CsSource> AddAfterAsync(string sourceDocument, string sourceCode)
Parameters
Type | Name | Description |
---|---|---|
string | sourceDocument | The fully qualified path to the source code document to be updated. |
string | sourceCode | The source code that is to be added to the document. |
Returns
Type | Description |
---|---|
Task<CsSource> | A newly loaded copy of the ICsSource model after the changes have been applied. |
Exceptions
Type | Condition |
---|---|
DocumentException | Error is raised when errors occur updating the source document. |
AddAfterAsync(string)
Adds the source code directly after the definition of the ICsDelegatein the target document.
Declaration
public abstract Task<CsSource> AddAfterAsync(string sourceCode)
Parameters
Type | Name | Description |
---|---|---|
string | sourceCode | The source code that is to be added to the document. |
Returns
Type | Description |
---|---|
Task<CsSource> | A newly loaded copy of the ICsSource model after the changes have been applied. |
Exceptions
Type | Condition |
---|---|
DocumentException | Error is raised when errors occur updating the source document. |
AddAfterDocsAsync(string)
Adds the supplied source code directly after the documentation.
Declaration
public abstract Task<CsSource> AddAfterDocsAsync(string sourceCode)
Parameters
Type | Name | Description |
---|---|---|
string | sourceCode | The target syntax to be added to the document. |
Returns
Type | Description |
---|---|
Task<CsSource> | Updated CsSource model with the injected source code. |
AddBeforeAsync(string, bool)
Declaration
public abstract Task<CsSource> AddBeforeAsync(string sourceCode, bool ignoreLeadingModelsAndDocs)
Parameters
Type | Name | Description |
---|---|---|
string | sourceCode | |
bool | ignoreLeadingModelsAndDocs |
Returns
Type | Description |
---|---|
Task<CsSource> |
AddBeforeAsync(string, string)
Adds the source code directly before the definition of the ICsDelegatein the target document.
Declaration
public abstract Task<CsSource> AddBeforeAsync(string sourceDocument, string sourceCode)
Parameters
Type | Name | Description |
---|---|---|
string | sourceDocument | The fully qualified path to the source code document to be updated. |
string | sourceCode | The source code that is to be added to the document. |
Returns
Type | Description |
---|---|
Task<CsSource> | A newly loaded copy of the ICsSource model after the changes have been applied. |
Exceptions
Type | Condition |
---|---|
DocumentException | Error is raised when errors occur updating the source document. |
AddBeforeAsync(string)
Adds the source code directly before the definition of the ICsDelegatein the target document.
Declaration
public abstract Task<CsSource> AddBeforeAsync(string sourceCode)
Parameters
Type | Name | Description |
---|---|---|
string | sourceCode | The source code that is to be added to the document. |
Returns
Type | Description |
---|---|
Task<CsSource> | A newly loaded copy of the ICsSource model after the changes have been applied. |
Exceptions
Type | Condition |
---|---|
DocumentException | Error is raised when errors occur updating the source document. |
AddBeforeDocsAsync(string)
Adds the supplied source code directly before the documentation.
Declaration
public abstract Task<CsSource> AddBeforeDocsAsync(string sourceCode)
Parameters
Type | Name | Description |
---|---|---|
string | sourceCode | The target syntax to be added to the document. |
Returns
Type | Description |
---|---|
Task<CsSource> | Updated CsSource model with the injected source code. |
DeleteAsync()
Deletes the definition of the delegate from the source document.
Declaration
public abstract Task<CsSource> DeleteAsync()
Returns
Type | Description |
---|---|
Task<CsSource> | A newly loaded copy of the ICsSource model after the delegate has been removed from the document. |
Exceptions
Type | Condition |
---|---|
DocumentException | Error is raised when errors occur updating the source document. |
DeleteAsync(string)
Deletes the definition of the delegate from the source document.
Declaration
public abstract Task<CsSource> DeleteAsync(string sourceDocument)
Parameters
Type | Name | Description |
---|---|---|
string | sourceDocument | The source document that the delegate is to be removed from. |
Returns
Type | Description |
---|---|
Task<CsSource> | A newly loaded copy of the ICsSource model after the delegate has been removed from the document. |
Exceptions
Type | Condition |
---|---|
DocumentException | Error is raised when errors occur updating the source document. |
DeleteDocsAsync()
Deletes the documentation from the target supporting code artifact.
Declaration
public abstract Task<CsSource> DeleteDocsAsync()
Returns
Type | Description |
---|---|
Task<CsSource> | Updated CsSource model with the documentation removed. |
GetSourceLocationAsync()
Gets the starting and ending locations within the document where the delegate is located.
Declaration
public abstract Task<ISourceLocation> GetSourceLocationAsync()
Returns
Type | Description |
---|---|
Task<ISourceLocation> | The source location for the delegate. |
Exceptions
Type | Condition |
---|---|
DocumentException | Raised when an error occurs getting the location from the document. |
GetSourceLocationAsync(string)
Gets the starting and ending locations within the document where the delegate is located.
Declaration
public abstract Task<ISourceLocation> GetSourceLocationAsync(string sourceDocument)
Parameters
Type | Name | Description |
---|---|---|
string | sourceDocument | The fully qualified path to the document that has the delegate defined in. |
Returns
Type | Description |
---|---|
Task<ISourceLocation> | The source location for the delegate. |
Exceptions
Type | Condition |
---|---|
DocumentException | Raised when an error occurs getting the location from the document. |
ReplaceAsync(string, string)
Replaces the current delegate with the provided source code.
Declaration
public abstract Task<CsSource> ReplaceAsync(string sourceDocument, string sourceCode)
Parameters
Type | Name | Description |
---|---|---|
string | sourceDocument | The fully qualified path to the source code document to be updated. |
string | sourceCode | The source code that is to be used to replace the original definition in the document. |
Returns
Type | Description |
---|---|
Task<CsSource> | A newly loaded copy of the ICsSource model after the changes have been applied. |
Exceptions
Type | Condition |
---|---|
DocumentException | Error is raised when errors occur updating the source document. |
ReplaceAsync(string)
Replaces the current delegate with the provided source code.
Declaration
public abstract Task<CsSource> ReplaceAsync(string sourceCode)
Parameters
Type | Name | Description |
---|---|---|
string | sourceCode | The source code that is to be used to replace the original definition in the document. |
Returns
Type | Description |
---|---|
Task<CsSource> | A newly loaded copy of the ICsSource model after the changes have been applied. |
Exceptions
Type | Condition |
---|---|
DocumentException | Error is raised when errors occur updating the source document. |
ReplaceDocsAsync(string)
Replaces the supplied source code directly this the documentation.
Declaration
public abstract Task<CsSource> ReplaceDocsAsync(string sourceCode)
Parameters
Type | Name | Description |
---|---|---|
string | sourceCode | The target syntax to be added to the document. |
Returns
Type | Description |
---|---|
Task<CsSource> | Updated CsSource model with the injected source code. |
Explicit Interface Implementations
| Improve this Doc View SourceIDotNetAttributes.Attributes
The attributes assigned to this item. If the HasAttributes is false this will be an empty list.
Declaration
IReadOnlyList<IDotNetAttribute> IDotNetAttributes.Attributes { get; }
Returns
Type | Description |
---|---|
IReadOnlyList<IDotNetAttribute> |
IDotNetDelegate.BeginInvokeMethod
The begin invoke delegate definition for this delegate.
Declaration
IDotNetMethod IDotNetDelegate.BeginInvokeMethod { get; }
Returns
Type | Description |
---|---|
IDotNetMethod |
IDotNetDelegate.EndInvokeMethod
The end invoke delegate definition for this delegate.
Declaration
IDotNetMethod IDotNetDelegate.EndInvokeMethod { get; }
Returns
Type | Description |
---|---|
IDotNetMethod |
IDotNetDelegate.InvokeMethod
The invoke delegate definition for this delegate.
Declaration
IDotNetMethod IDotNetDelegate.InvokeMethod { get; }
Returns
Type | Description |
---|---|
IDotNetMethod |
IDotNetDelegate.Parameters
List of the parameters that have been assigned to the delegate. If HasParameters property is set to false this will be an empty list.
Declaration
IReadOnlyList<IDotNetParameter> IDotNetDelegate.Parameters { get; }
Returns
Type | Description |
---|---|
IReadOnlyList<IDotNetParameter> |
IDotNetDelegate.ReturnType
The type information about the return type assigned to the delegate.
Declaration
IDotNetType IDotNetDelegate.ReturnType { get; }
Returns
Type | Description |
---|---|
IDotNetType |
IDotNetDelegate.Security
The security scope that has been assigned to this item.
Declaration
DotNetSecurity IDotNetDelegate.Security { get; }
Returns
Type | Description |
---|---|
DotNetSecurity |
IDotNetGeneric.GenericParameters
List of the generic parameters assigned.
Declaration
IReadOnlyList<IDotNetGenericParameter> IDotNetGeneric.GenericParameters { get; }
Returns
Type | Description |
---|---|
IReadOnlyList<IDotNetGenericParameter> |
IDotNetGeneric.GenericTypes
Enumeration of the strong types that are implemented for each generic parameter. This will be an empty list when there is no generic types implemented.
Declaration
IReadOnlyList<IDotNetType> IDotNetGeneric.GenericTypes { get; }
Returns
Type | Description |
---|---|
IReadOnlyList<IDotNetType> |
IParent.Parent
The parent to the current model. This will return null if there is no parent for this model, or the parent could not be located.
Declaration
IDotNetModel IParent.Parent { get; }
Returns
Type | Description |
---|---|
IDotNetModel |