Show / Hide Table of Contents

Class LockExpression

Represents synchronized block of code.

Inheritance
Object
LockExpression
Namespace: DotNext.Linq.Expressions
Assembly: DotNext.Metaprogramming.dll
Syntax
public sealed class LockExpression : Expression

Properties

| Improve this Doc View Source

Body

Gets body of the synchronized block of code.

Declaration
public Expression Body { get; }
Property Value
Type Description
Expression
| Improve this Doc View Source

CanReduce

Always returns true because this expression is .

Declaration
public override bool CanReduce { get; }
Property Value
Type Description
Boolean
| Improve this Doc View Source

NodeType

Always returns .

Declaration
public override ExpressionType NodeType { get; }
Property Value
Type Description
ExpressionType
| Improve this Doc View Source

SyncRoot

Represents monitor object.

Declaration
public ParameterExpression SyncRoot { get; }
Property Value
Type Description
ParameterExpression
| Improve this Doc View Source

Type

Gets type of this expression.

Declaration
public override Type Type { get; }
Property Value
Type Description
Type

Methods

| Improve this Doc View Source

Create(Expression, LockExpression.Statement)

Creates a new synchronized block of code.

Declaration
public static LockExpression Create(Expression syncRoot, LockExpression.Statement body)
Parameters
Type Name Description
Expression syncRoot

The monitor object.

LockExpression.Statement body

The delegate used to construct synchronized block of code.

Returns
Type Description
LockExpression

The synchronized block of code.

| Improve this Doc View Source

Create(Expression, Expression)

Creates a new synchronized block of code.

Declaration
public static LockExpression Create(Expression syncRoot, Expression body)
Parameters
Type Name Description
Expression syncRoot

The monitor object.

Expression body

The body of the code block.

Returns
Type Description
LockExpression

The synchronized block of code.

| Improve this Doc View Source

Reduce()

Translates this expression into predefined set of expressions using Lowering technique.

Declaration
public override Expression Reduce()
Returns
Type Description
Expression

Translated expression.

| Improve this Doc View Source

Update(Expression)

Reconstructs synchronized block of code with a new body.

Declaration
public LockExpression Update(Expression body)
Parameters
Type Name Description
Expression body

The new body of the synchronized block of code.

Returns
Type Description
LockExpression

Updated expression.

Extension Methods

AsyncLockAcquisition.AcquireLockAsync<T>(T, TimeSpan)
AsyncLockAcquisition.AcquireLockAsync<T>(T, CancellationToken)
AsyncLockAcquisition.AcquireReadLockAsync<T>(T, TimeSpan)
AsyncLockAcquisition.AcquireReadLockAsync<T>(T, CancellationToken)
AsyncLockAcquisition.AcquireWriteLockAsync<T>(T, TimeSpan)
AsyncLockAcquisition.AcquireWriteLockAsync<T>(T, CancellationToken)
AsyncLockAcquisition.AcquireUpgradeableReadLockAsync<T>(T, TimeSpan)
AsyncLockAcquisition.AcquireUpgradeableReadLockAsync<T>(T, CancellationToken)
ExpressionBuilder.Const<T>(T)
ObjectExtensions.GetUserData<T>(T)
ObjectExtensions.IsOneOf<T>(T, IEnumerable<T>)
ObjectExtensions.IsOneOf<T>(T, T[])
ObjectExtensions.Decompose<T, R1, R2>(T, Func<T, R1>, Func<T, R2>, out R1, out R2)
ObjectExtensions.Decompose<T, R1, R2>(T, ValueFunc<T, R1>, ValueFunc<T, R2>, out R1, out R2)
ObjectExtensions.Decompose<T, R1, R2>(T, Func<T, R1>, Func<T, R2>)
ObjectExtensions.Decompose<T, R1, R2>(T, ValueFunc<T, R1>, ValueFunc<T, R2>)
LockAcquisition.AcquireReadLock<T>(T)
LockAcquisition.AcquireReadLock<T>(T, TimeSpan)
LockAcquisition.AcquireWriteLock<T>(T)
LockAcquisition.AcquireWriteLock<T>(T, TimeSpan)
LockAcquisition.AcquireUpgradeableReadLock<T>(T)
LockAcquisition.AcquireUpgradeableReadLock<T>(T, TimeSpan)
  • Improve this Doc
  • View Source
Back to top Generated by DocFX