Open sandboxFocusImprove this doc

Threading Errors and Warnings

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.