Messages reported by PostSharp.Patterns.Threading: threading models, dispatching, and deadlock detection.
| Message | Severity | Description |
|---|---|---|
| THR001 | Error | A method dispatched in non-blocking mode returns a value or has by-reference parameters. |
| THR006 | Error | A method with the [Background] aspect returns a value other than a task, or has by-reference parameters. |
| THR008 | Error | A class whose threading model controls access to its fields has a public or internal field. |
| THR009 | Error | A method of an actor that other objects can call has a ref, out or in parameter. |
| THR016 | Warning | A method of a reader/writer synchronized class does not say which lock it needs. |
| THR017 | Error | An async method of a synchronized class or of an actor does not have the [Reentrant] attribute. |
| THR018 | Error | A class with a threading model has a field of a mutable struct type. |
| THR019 | Error | A child field has a type whose threading model is not compatible with the threading model of its parent. |
| THR020 | Error | A child field has a type that is mutable and has no threading model. |
| THR021 | Error | A method of a reader-writer synchronized class has more than one access-level attribute. |
| THR022 | Error | The [Reentrant] attribute is applied to a method that is not async. |
| THR023 | Error | The [Dispatched] aspect is applied to a static method. |
| THR025 | Warning | The thread-safety policy finds a class with instance fields that has no threading model. |
| THR026 | Warning | The thread-safety policy finds a static field that any thread can assign. |
| THR027 | Warning | The thread-safety policy finds a static field whose type is not thread-safe. |
| THR036 | Error | An instance method of a thread-affine class has the [Background] aspect. |
| THR037 | Error | An instance method of an actor has the [Background] aspect. |
| THR039 | Error | An async method of an actor returns a type other than void, Task or Task |
| THR040 | Warning | An access level attribute such as [Reader] is applied to a static method. |
| THR041 | Warning | An access level attribute such as [Reader] is applied to a method of a class that has no threading model. |
| THR042 | Warning | [ExplicitlySynchronized] is applied to the backing field of an automatic property instead of the property. |
| THR043 | Warning | The appliesToMethodOnly argument of [ExplicitlySynchronized] on a property is ignored. |