Reasons why a site that matches a registration cannot be intercepted in this version.
Namespace: Metalama.Extensions.Interceptors
Assembly: Metalama.Extensions.Interceptors.dll
Syntax
[CompileTime]
public enum NonInterceptableReasonRemarks
Later versions can append members to this enumeration. A version that lifts a limitation stops reporting its member, but keeps the member, so that the enumeration stays binary compatible. A provider that tests the reason must therefore expect values that it does not know.
This version does not report UnnameableType, CovariantArrayElementReceiver, RequiresNewerLanguageVersion, ReceiverReassignedByArguments, MethodReferenceRequiresMaterializedDefaults and DelegateEqualityRequired. They concern interceptors that later versions generate from templates.
Fields
| Name | Description |
|---|---|
| ConditionalAccessMutableReceiver | The call is in a conditional access, and its receiver is a type parameter that is not known to be a reference type and that would have to be passed by reference. |
| CovariantArrayElementReceiver | The receiver is an array element of a type parameter type that could be passed only by reference. |
| DelegateEqualityRequired | The method-reference site is the handler of |
| ExpressionTree | The site is in a lambda that is converted to an expression tree, for instance in a query over IQueryable. The compiler does not emit a call for the site, but an expression that describes it, which a library interprets or translates, so the site cannot be redirected. |
| MethodReferenceReceiverNotSupported | The receiver of the method-reference site can stay neither in a method group nor in a wrapper. |
| MethodReferenceRequiresMaterializedDefaults | The method-reference site needs the default values of the target, which an interceptor cannot declare. |
| None | The site can be intercepted. |
| PointerType | A pointer or a function pointer type occurs in the signature of the intercepted method, in a type argument, in a containing type or in the type of the receiver. |
| PromotedFieldInitializer | The call is in the initializer of a field that an aspect promotes to a property. |
| ReceiverReassignedByArguments | The receiver is a type parameter that is not known to be a value type, and an argument of the call can assign the receiver variable. |
| RefReturn | The intercepted method returns by reference. |
| RequiresNewerLanguageVersion | A generated method would need a language feature that the project language version does not have. |
| ScopedParameter | The signature needs |
| UnnameableType | The signature contains a type that no placement can name, such as an anonymous type outside a type argument. |
| UnsupportedDefaultValue | An omitted optional argument has a default value that cannot be written in C#. |
| VariableArguments | The intercepted method uses |