Open sandboxFocus
  • TOC

Metalama Documentation

Getting started

Conceptual documentation

Commented examples

API documentation

Aspect API

Metalama.​Framework.​Advising

Metalama.​Framework.​Aspects

Metalama.​Framework.​Code

Metalama.​Framework.​Code.​Collections

Metalama.​Framework.​Code.​Comparers

Metalama.​Framework.​Code.​Declaration­Builders

Metalama.​Framework.​Code.​Invokers

Metalama.​Framework.​Code.​Syntax­Builders

Metalama.​Framework.​Code.​Types

Metalama.​Framework.​Diagnostics

Metalama.​Framework.​Eligibility

Metalama.​Framework.​Fabrics

Metalama.​Framework.​Metrics

Metalama.​Framework.​Options

Metalama.​Framework.​Project

Metalama.​Framework.​Run­Time

Metalama.​Framework.​Serialization

Metalama.​Framework.​Services

Metalama.​Framework.​Utilities

Extensions API

Patterns API

Flashtrace API

Introspection API

Advanced API

Post­Sharp API migration

  • Article

Method IntroduceField

IntroduceField(INamedType, string, IntroductionScope, OverrideStrategy, Action<IFieldBuilder>?, object?)

Introduces a field to the target type by specifying a template.

Declaration
IIntroductionAdviceResult<IField> IntroduceField(INamedType targetType, string template, IntroductionScope scope = IntroductionScope.Default, OverrideStrategy whenExists = OverrideStrategy.Default, Action<IFieldBuilder>? buildField = null, object? tags = null)
Parameters
Type Name Description
INamedType targetType

The type into which the property must be introduced.

string template

Name of the introduced field.

IntroductionScope scope

Determines the scope (e.g. Instance or Static) of the introduced field. The default scope is Instance.

OverrideStrategy whenExists

Determines the implementation strategy when a property of the same name is already declared in the target type. The default strategy is to fail with a compile-time error.

Action<IFieldBuilder> buildField
object tags
Returns
Type Description
IIntroductionAdviceResult<IField>

An IPropertyBuilder that allows to dynamically change the name or type of the introduced property.

See Also

IntroduceField(INamedType, string, IType, IntroductionScope, OverrideStrategy, Action<IFieldBuilder>?, object?)

Introduces a field to the target type by specifying a field name and IType.

Declaration
IIntroductionAdviceResult<IField> IntroduceField(INamedType targetType, string fieldName, IType fieldType, IntroductionScope scope = IntroductionScope.Default, OverrideStrategy whenExists = OverrideStrategy.Default, Action<IFieldBuilder>? buildField = null, object? tags = null)
Parameters
Type Name Description
INamedType targetType

The type into which the property must be introduced.

string fieldName

Name of the introduced field.

IType fieldType

Type of the introduced field.

IntroductionScope scope

Determines the scope (e.g. Instance or Static) of the introduced field. The default scope is Instance.

OverrideStrategy whenExists

Determines the implementation strategy when a property of the same name is already declared in the target type. The default strategy is to fail with a compile-time error.

Action<IFieldBuilder> buildField
object tags
Returns
Type Description
IIntroductionAdviceResult<IField>

An IPropertyBuilder that allows to dynamically change the name or type of the introduced property.

See Also

IntroduceField(INamedType, string, Type, IntroductionScope, OverrideStrategy, Action<IFieldBuilder>?, object?)

Introduces a field to the target type by specifying a field name and Type.

Declaration
IIntroductionAdviceResult<IField> IntroduceField(INamedType targetType, string fieldName, Type fieldType, IntroductionScope scope = IntroductionScope.Default, OverrideStrategy whenExists = OverrideStrategy.Default, Action<IFieldBuilder>? buildField = null, object? tags = null)
Parameters
Type Name Description
INamedType targetType

The type into which the property must be introduced.

string fieldName

Name of the introduced field.

Type fieldType

Type of the introduced field.

IntroductionScope scope

Determines the scope (e.g. Instance or Static) of the introduced field. The default scope is Instance.

OverrideStrategy whenExists

Determines the implementation strategy when a property of the same name is already declared in the target type. The default strategy is to fail with a compile-time error.

Action<IFieldBuilder> buildField
object tags
Returns
Type Description
IIntroductionAdviceResult<IField>

An IPropertyBuilder that allows to dynamically change the name or type of the introduced property.

See Also