Expression.SwitchCase Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Nesnede SwitchCase kullanılacak bir SwitchExpression nesne oluşturur.
Aşırı Yüklemeler
SwitchCase(Expression, Expression[]) |
SwitchCase içinde kullanmak için bir SwitchExpressionoluşturur. |
SwitchCase(Expression, IEnumerable<Expression>) |
Nesnede SwitchCase kullanılacak bir SwitchExpression nesne oluşturur. |
SwitchCase(Expression, Expression[])
- Kaynak:
- SwitchCase.cs
- Kaynak:
- SwitchCase.cs
- Kaynak:
- SwitchCase.cs
SwitchCase içinde kullanmak için bir SwitchExpressionoluşturur.
public:
static System::Linq::Expressions::SwitchCase ^ SwitchCase(System::Linq::Expressions::Expression ^ body, ... cli::array <System::Linq::Expressions::Expression ^> ^ testValues);
public static System.Linq.Expressions.SwitchCase SwitchCase (System.Linq.Expressions.Expression body, params System.Linq.Expressions.Expression[] testValues);
static member SwitchCase : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.SwitchCase
Public Shared Function SwitchCase (body As Expression, ParamArray testValues As Expression()) As SwitchCase
Parametreler
- body
- Expression
Davanın gövdesi.
- testValues
- Expression[]
Durumun test değerleri.
Döndürülenler
Oluşturulan SwitchCase.
Şunlara uygulanır
SwitchCase(Expression, IEnumerable<Expression>)
- Kaynak:
- SwitchCase.cs
- Kaynak:
- SwitchCase.cs
- Kaynak:
- SwitchCase.cs
Nesnede SwitchCase kullanılacak bir SwitchExpression nesne oluşturur.
public:
static System::Linq::Expressions::SwitchCase ^ SwitchCase(System::Linq::Expressions::Expression ^ body, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ testValues);
public static System.Linq.Expressions.SwitchCase SwitchCase (System.Linq.Expressions.Expression body, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> testValues);
static member SwitchCase : System.Linq.Expressions.Expression * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.SwitchCase
Public Shared Function SwitchCase (body As Expression, testValues As IEnumerable(Of Expression)) As SwitchCase
Parametreler
- body
- Expression
Davanın gövdesi.
- testValues
- IEnumerable<Expression>
Durumun test değerleri.
Döndürülenler
Oluşturulan SwitchCase.
Örnekler
Aşağıdaki örnek, varsayılan büyük/küçük harfe sahip switch deyimini temsil eden bir ifadenin nasıl oluşturulacağını gösterir.
// Add the following directive to the file:
// using System.Linq.Expressions;
// An expression that represents the switch value.
ConstantExpression switchValue = Expression.Constant(3);
// This expression represents a switch statement
// that has a default case.
SwitchExpression switchExpr =
Expression.Switch(
switchValue,
Expression.Call(
null,
typeof(Console).GetMethod("WriteLine", new Type[] { typeof(String) }),
Expression.Constant("Default")
),
new SwitchCase[] {
Expression.SwitchCase(
Expression.Call(
null,
typeof(Console).GetMethod("WriteLine", new Type[] { typeof(String) }),
Expression.Constant("First")
),
Expression.Constant(1)
),
Expression.SwitchCase(
Expression.Call(
null,
typeof(Console).GetMethod("WriteLine", new Type[] { typeof(String) }),
Expression.Constant("Second")
),
Expression.Constant(2)
)
}
);
// The following statement first creates an expression tree,
// then compiles it, and then runs it.
Expression.Lambda<Action>(switchExpr).Compile()();
// This code example produces the following output:
//
// Default
' Add the following directive to the file:
' Imports System.Linq.Expressions
' An expression that represents the switch value.
Dim switchValue As ConstantExpression = Expression.Constant(3)
' This expression represents a switch statement
' that has a default case.
Dim switchExpr As SwitchExpression =
Expression.Switch(
switchValue,
Expression.Call(
Nothing,
GetType(Console).GetMethod("WriteLine", New Type() {GetType(String)}),
Expression.Constant("Default")
),
New SwitchCase() {
Expression.SwitchCase(
Expression.Call(
Nothing,
GetType(Console).GetMethod("WriteLine", New Type() {GetType(String)}),
Expression.Constant("First")
),
Expression.Constant(1)
),
Expression.SwitchCase(
Expression.Call(
Nothing,
GetType(Console).GetMethod("WriteLine", New Type() {GetType(String)}),
Expression.Constant("Second")
),
Expression.Constant(2)
)
}
)
' The following statement first creates an expression tree,
' then compiles it, and then runs it.
Expression.Lambda(Of Action)(switchExpr).Compile()()
' This code example produces the following output:
'
' Default
Açıklamalar
türüne sahip olmadığı sürece, bir SwitchExpression nesnedeki tüm SwitchCase nesneler aynı türe SwitchExpressionvoid
sahip olmalıdır.
Her SwitchCase nesnenin örtük break
bir deyimi vardır, yani bir büyük/küçük harf etiketinden diğerine örtük bir düşüş yoktur.