Show / Hide Table of Contents

Class NullSafetyExpression

Represents expression that is protected by null check, e.g. safe navigation operator (?. in C#).

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

Properties

| Improve this Doc View Source

Body

Gets the body to be executed if Target is not null.

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

Target

Gets expression augmented by null check.

Declaration
public ParameterExpression Target { 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, Func<ParameterExpression, Expression>)

Creates a new safe navigation expression.

Declaration
public static NullSafetyExpression Create(Expression target, Func<ParameterExpression, Expression> body)
Parameters
Type Name Description
Expression target

The expression that is guarded by null check.

Func<ParameterExpression, Expression> body

The body to be executed if target is not null.

Returns
Type Description
NullSafetyExpression

The expression representing safe navigation.

| 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 expression with a new body.

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

The new body of this expression.

Returns
Type Description
NullSafetyExpression

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