PostSharp 6.10 / / Post­Sharp Documentation / API Reference / Post­Sharp.​Patterns.​Threading Namespace / Thread­Aware­Extensions Class / Thread­Aware­Extensions Methods / Thread­Aware­Extensions.​Acquire­Access­Async Method

ThreadAwareExtensions.AcquireAccessAsync Method

Asynchronously acquires access for a given object.

Namespace:  PostSharp.Patterns.Threading
Assembly:  PostSharp.Patterns.Common (in PostSharp.Patterns.Common.dll) Version: (
public static ConcurrentAccessAwaiter AcquireAccessAsync(
	this IThreadAware instance,
	ObjectAccessLevel objectAccessLevel


Type: PostSharp.Patterns.Threading.IThreadAware
The instance for which access is required.
Type: PostSharp.Patterns.Model.ObjectAccessLevel
The level of access required.

Return Value

Type: ConcurrentAccessAwaiter
An ConcurrentAccessAwaiter object that can be used for awaiting for access.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IThreadAware. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

This method is guaranteed to acquire the controller of the instance object. Invoking the AcquireAccessAsync(ObjectAccessLevel) method directly does not offer this guarantee, as the controller can be changed between the moment the ConcurrencyController property is retrieved and the moment the AcquireAccessAsync(ObjectAccessLevel) is invoked.

See Also