Show / Hide Table of Contents

Class SwitchBuilder

Represents selection statement that chooses a single section to execute from a list of candidates based on a pattern matching.

Inheritance
Object
ExpressionBuilder<SwitchExpression>
SwitchBuilder
Inherited Members
ExpressionBuilder<SwitchExpression>.OfType(Type)
ExpressionBuilder<SwitchExpression>.OfType<T>()
ExpressionBuilder<SwitchExpression>.End()
Namespace: DotNext.Metaprogramming
Assembly: DotNext.Metaprogramming.dll
Syntax
public sealed class SwitchBuilder : ExpressionBuilder<SwitchExpression>, IExpressionBuilder<SwitchExpression>

Methods

| Improve this Doc View Source

Case(Expression, Expression)

Specifies a pattern to compare to the match expression and expression to be returned if matching is successful.

Declaration
public SwitchBuilder Case(Expression test, Expression body)
Parameters
Type Name Description
Expression test

Single test value.

Expression body

The expression to be returned from selection statement.

Returns
Type Description
SwitchBuilder

this builder.

| Improve this Doc View Source

Case(IEnumerable<Expression>, Expression)

Specifies a pattern to compare to the match expression and expression to be returned if matching is successful.

Declaration
public SwitchBuilder Case(IEnumerable<Expression> testValues, Expression body)
Parameters
Type Name Description
IEnumerable<Expression> testValues

A list of test values.

Expression body

The expression to be returned from selection statement.

Returns
Type Description
SwitchBuilder

this builder.

| Improve this Doc View Source

Default(Expression)

Specifies the switch section to execute if the match expression doesn't match any other cases.

Declaration
public SwitchBuilder Default(Expression body)
Parameters
Type Name Description
Expression body

The expression to be returned from selection statement in default case.

Returns
Type Description
SwitchBuilder

this builder.

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)
CodeGenerator.Case(SwitchBuilder, IEnumerable<Expression>, Action)
CodeGenerator.Case(SwitchBuilder, Expression, Action)
CodeGenerator.Default(SwitchBuilder, Action)
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)

See Also

switch statement
  • Improve this Doc
  • View Source
Back to top Generated by DocFX