Class CsMethod
Data model that represents a method definition.
Implements
Inherited Members
Namespace: CodeFactory.DotNet.CSharp
Assembly: CodeFactory.DotNet.dll
Syntax
public abstract class CsMethod : CsMember, ICsMethod, ICsMember, ICsModel, ICsAttributes, IParent, ICsGeneric, IDotNetMethod, IDotNetMember, IDotNetModel, IModelStatus, ISourceFiles, IDotNetAttributes, IDocumentation, IParent, ILookup, IDotNetGeneric
Constructors
| Improve this Doc View SourceCsMethod(bool, bool, bool, SourceCodeType, IReadOnlyList<CsAttribute>, string, IReadOnlyList<string>, bool, string, string, string, string, CsSecurity, bool, bool, IReadOnlyList<CsGenericParameter>, IReadOnlyList<CsType>, bool, bool, bool, bool, bool, bool, bool, bool, bool, CsMethodType, CsType, IReadOnlyList<CsParameter>, SyntaxType, string, ModelStore<ICsModel>, IReadOnlyList<ModelLoadException>)
Constructor for the CsMethod
Declaration
protected CsMethod(bool isLoaded, bool hasErrors, bool loadedFromSource, SourceCodeType language, IReadOnlyList<CsAttribute> attributes, string modelSourceFile, IReadOnlyList<string> sourceFiles, bool hasDocumentation, string documentation, string lookupPath, string name, string parentPath, CsSecurity security, bool isGeneric, bool hasStrongTypesInGenerics, IReadOnlyList<CsGenericParameter> genericParameters, IReadOnlyList<CsType> genericTypes, bool hasParameters, bool isAbstract, bool isVirtual, bool isSealed, bool isOverride, bool isStatic, bool isVoid, bool isAsync, bool isExtension, CsMethodType methodType, CsType returnType, IReadOnlyList<CsParameter> parameters, SyntaxType contentSyntax = SyntaxType.Unknown, 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. |
string | modelSourceFile | Source file the model was generated from. |
IReadOnlyList<string> | sourceFiles | List of the fully qualified paths to the source code files this member is defined in. |
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 | name | The name of the model. |
string | parentPath | THe fully qualified lookup path for the parent model to this one. |
CsSecurity | security | The security scope assigned to this model. |
bool | isGeneric | Flag that determines if the method is a generic definition. |
bool | hasStrongTypesInGenerics | Flag that determines if the generics use strong type definitions. |
IReadOnlyList<CsGenericParameter> | genericParameters | Generic parameters assigned to the method. |
IReadOnlyList<CsType> | genericTypes | Target types for the generic parameters assigned to the method. |
bool | hasParameters | Flag that determines if the method had parameters. |
bool | isAbstract | Flag that determines if the model is abstract. |
bool | isVirtual | Flag that determines if the model is virtual. |
bool | isSealed | Flag that determines if the model is sealed. |
bool | isOverride | Flag that determines if the model is overridden. |
bool | isStatic | Flag that determines if the model is static. |
bool | isVoid | Flag that determines if the return type is void. |
bool | isAsync | Flag that determines if the method has the async keyword assigned. |
bool | isExtension | Flag that determines if the method is an extension method. |
CsMethodType | methodType | The type of method that was implemented. |
CsType | returnType | The type definition for the return type. |
IReadOnlyList<CsParameter> | parameters | The parameters assigned to the method. |
SyntaxType | contentSyntax | How syntax is stored in the method. |
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 SourceGenericParameters
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> |
HasParameters
Flag that determines if the method 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 |
IsAbstract
Flag that determines if the method has been implemented as abstract.
Declaration
public bool IsAbstract { get; }
Property Value
Type | Description |
---|---|
bool |
IsAsync
Flag that determines if the method implements the Async keyword.
Declaration
public bool IsAsync { get; }
Property Value
Type | Description |
---|---|
bool |
IsExtension
Flag that determines if the method is an extension method.
Declaration
public bool IsExtension { get; }
Property Value
Type | Description |
---|---|
bool |
IsGeneric
Flag the determines if this item supports generics
Declaration
public bool IsGeneric { get; }
Property Value
Type | Description |
---|---|
bool |
IsOverride
Flag that determines if the method has been overridden.
Declaration
public bool IsOverride { get; }
Property Value
Type | Description |
---|---|
bool |
IsSealed
Flag that determines if the method has been sealed.
Declaration
public bool IsSealed { get; }
Property Value
Type | Description |
---|---|
bool |
IsStatic
Flag that determines if this is a static method.
Declaration
public bool IsStatic { get; }
Property Value
Type | Description |
---|---|
bool |
IsVirtual
Flag that determines if the method has been implemented as virtual.
Declaration
public bool IsVirtual { get; }
Property Value
Type | Description |
---|---|
bool |
IsVoid
Flag that determines if the methods return type is void.
Declaration
public bool IsVoid { get; }
Property Value
Type | Description |
---|---|
bool |
MethodType
Determines the type of method that was loaded into this model.
Declaration
public CsMethodType MethodType { get; }
Property Value
Type | Description |
---|---|
CsMethodType |
Parameters
Enumeration of the parameters that have been assigned to the method. If HasParameters property is set to false this will be null.
Declaration
public IReadOnlyList<CsParameter> Parameters { get; }
Property Value
Type | Description |
---|---|
IReadOnlyList<CsParameter> |
ReturnType
The type information about the return type assigned to the method. if flag IsVoid is true then the return type will be set to null.
Declaration
public CsType ReturnType { get; }
Property Value
Type | Description |
---|---|
CsType |
SyntaxContent
Declaration
public SyntaxType SyntaxContent { get; }
Property Value
Type | Description |
---|---|
SyntaxType |
Methods
| Improve this Doc View SourceAddToBeginningBodySyntaxAsync(string, string)
Declaration
[Obsolete("No longer support will be removed in later edition, you no longer need to pass the source document.", false)]
public abstract Task<CsSource> AddToBeginningBodySyntaxAsync(string sourceDocument, string sourceCode)
Parameters
Type | Name | Description |
---|---|---|
string | sourceDocument | |
string | sourceCode |
Returns
Type | Description |
---|---|
Task<CsSource> |
AddToBeginningBodySyntaxAsync(string)
Declaration
public abstract Task<CsSource> AddToBeginningBodySyntaxAsync(string sourceCode)
Parameters
Type | Name | Description |
---|---|---|
string | sourceCode |
Returns
Type | Description |
---|---|
Task<CsSource> |
AddToEndBodySyntaxAsync(string, string)
Declaration
[Obsolete("No longer support will be removed in later edition, you no longer need to pass the source document.", false)]
public abstract Task<CsSource> AddToEndBodySyntaxAsync(string sourceDocument, string sourceCode)
Parameters
Type | Name | Description |
---|---|---|
string | sourceDocument | |
string | sourceCode |
Returns
Type | Description |
---|---|
Task<CsSource> |
AddToEndBodySyntaxAsync(string)
Declaration
public abstract Task<CsSource> AddToEndBodySyntaxAsync(string sourceCode)
Parameters
Type | Name | Description |
---|---|---|
string | sourceCode |
Returns
Type | Description |
---|---|
Task<CsSource> |
DeleteBodySyntaxAsync()
Declaration
public abstract Task<CsSource> DeleteBodySyntaxAsync()
Returns
Type | Description |
---|---|
Task<CsSource> |
DeleteBodySyntaxAsync(string)
Declaration
[Obsolete("No longer support will be removed in later edition, you no longer need to pass the source document.", false)]
public abstract Task<CsSource> DeleteBodySyntaxAsync(string sourceDocument)
Parameters
Type | Name | Description |
---|---|---|
string | sourceDocument |
Returns
Type | Description |
---|---|
Task<CsSource> |
GetBodySyntaxAsync()
Declaration
public abstract Task<string> GetBodySyntaxAsync()
Returns
Type | Description |
---|---|
Task<string> |
GetBodySyntaxListAsync()
Declaration
public abstract Task<List<string>> GetBodySyntaxListAsync()
Returns
Type | Description |
---|---|
Task<List<string>> |
GetExpressionSyntaxAsync()
Declaration
public abstract Task<string> GetExpressionSyntaxAsync()
Returns
Type | Description |
---|---|
Task<string> |
ReplaceBodySyntaxAsync(string, string)
Declaration
[Obsolete("No longer support will be removed in later edition, you no longer need to pass the source document.", false)]
public abstract Task<CsSource> ReplaceBodySyntaxAsync(string sourceDocument, string sourceCode)
Parameters
Type | Name | Description |
---|---|---|
string | sourceDocument | |
string | sourceCode |
Returns
Type | Description |
---|---|
Task<CsSource> |
ReplaceBodySyntaxAsync(string)
Declaration
public abstract Task<CsSource> ReplaceBodySyntaxAsync(string sourceCode)
Parameters
Type | Name | Description |
---|---|---|
string | sourceCode |
Returns
Type | Description |
---|---|
Task<CsSource> |
ReplaceExpressionAsync(string, string)
Declaration
[Obsolete("No longer support will be removed in later edition, you no longer need to pass the source document.", false)]
public abstract Task<CsSource> ReplaceExpressionAsync(string sourceDocument, string sourceCode)
Parameters
Type | Name | Description |
---|---|---|
string | sourceDocument | |
string | sourceCode |
Returns
Type | Description |
---|---|
Task<CsSource> |
ReplaceExpressionAsync(string)
Declaration
public abstract Task<CsSource> ReplaceExpressionAsync(string sourceCode)
Parameters
Type | Name | Description |
---|---|---|
string | sourceCode |
Returns
Type | Description |
---|---|
Task<CsSource> |
Explicit Interface Implementations
| Improve this Doc View SourceIDotNetGeneric.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> |
IDotNetMethod.MethodType
Determines the type of method that was loaded into this model.
Declaration
DotNetMethodType IDotNetMethod.MethodType { get; }
Returns
Type | Description |
---|---|
DotNetMethodType |
IDotNetMethod.Parameters
Enumeration of the parameters that have been assigned to the method. If HasParameters property is set to false this will be null.
Declaration
IReadOnlyList<IDotNetParameter> IDotNetMethod.Parameters { get; }
Returns
Type | Description |
---|---|
IReadOnlyList<IDotNetParameter> |
IDotNetMethod.ReturnType
The type information about the return type assigned to the method. if flag IsVoid is true then the return type will be set to null.
Declaration
IDotNetType IDotNetMethod.ReturnType { get; }
Returns
Type | Description |
---|---|
IDotNetType |