PostSharp 2023.0 / / Post­Sharp Documentation / API Reference / Post­Sharp.​Aspects Namespace / Semantically­Advised­Method­Kinds Enumeration

SemanticallyAdvisedMethodKinds Enumeration

Enumerates possible target methods for semantic advising.

Namespace:  PostSharp.Aspects
Assembly:  PostSharp (in PostSharp.dll) Version: 2023.0.3.0 (2023.0.3.0)
public enum SemanticallyAdvisedMethodKinds
  Member nameValueDescription
None0 Do not use semantic advising.
Async1 Apply semantic advising to async methods.
ReturnsAwaitable2 Apply semantic advising to methods that return any awaitable type (e.g. System.Threading.Tasks.Task).
Iterator4 Apply semantic advising to iterator methods (methods that use yield statements).
ReturnsEnumerable8 Apply semantic advising to methods that return IEnumerable, IEnumerator, IEnumerable<T>, or IEnumerator<T>.
AsyncIterator16 Apply semantic advising to async methods which return IAsyncEnumerable. Semantic advising for this C# 8.0 feature is not supported by PostSharp yet.
Default23 The default behavior includes Async, ReturnsAwaitable, Iterator, and AsyncIterator, but not ReturnsEnumerable.
All31 Apply semantic advising to all possible target methods.
When semantic advising is enabled the advices work at the abstraction level of the original programming language. For example, advices are applied to the underlying async state machine instead of the public async method the starts the state machine.
See Also