Aracılığıyla paylaş


Expression.Convert Yöntem

Tanım

UnaryExpression Tür dönüştürme işlemini temsil eden bir oluşturur.

Aşırı Yüklemeler

Name Description
Convert(Expression, Type)

UnaryExpression Tür dönüştürme işlemini temsil eden bir oluşturur.

Convert(Expression, Type, MethodInfo)

Uygulayan yöntemin belirtildiği dönüştürme işlemini temsil eden bir UnaryExpression oluşturur.

Convert(Expression, Type)

Kaynak:
UnaryExpression.cs
Kaynak:
UnaryExpression.cs
Kaynak:
UnaryExpression.cs
Kaynak:
UnaryExpression.cs
Kaynak:
UnaryExpression.cs

UnaryExpression Tür dönüştürme işlemini temsil eden bir oluşturur.

public:
 static System::Linq::Expressions::UnaryExpression ^ Convert(System::Linq::Expressions::Expression ^ expression, Type ^ type);
public static System.Linq.Expressions.UnaryExpression Convert(System.Linq.Expressions.Expression expression, Type type);
static member Convert : System.Linq.Expressions.Expression * Type -> System.Linq.Expressions.UnaryExpression
Public Shared Function Convert (expression As Expression, type As Type) As UnaryExpression

Parametreler

expression
Expression

Özelliğinin Operand değerine eşit olarak ayarlanması için birExpression.

type
Type

Özelliğinin Type değerine eşit olarak ayarlanması için AType.

Döndürülenler

UnaryExpression özelliğine ConvertNodeType eşit ve ve TypeOperand özellikleri belirtilen değerlere ayarlanmış bir.

Özel durumlar

expression veya type şeklindedir null.

arasında expressionhiçbir dönüştürme işleci tanımlanmadı. ve typeyazın.

Örnekler

Aşağıdaki kod örneği, tür dönüştürme işlemini temsil eden bir ifadenin nasıl oluşturulacağını gösterir.

// Add the following directive to your file:
// using System.Linq.Expressions;

// This expression represents a type conversion operation.
Expression convertExpr = Expression.Convert(
                            Expression.Constant(5.5),
                            typeof(Int16)
                        );

// Print out the expression.
Console.WriteLine(convertExpr.ToString());

// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(Expression.Lambda<Func<Int16>>(convertExpr).Compile()());

// This code example produces the following output:
//
// Convert(5.5)
// 5
' Add the following directive to your file:
' Imports System.Linq.Expressions 

' This expression represents a type conversion operation.        
Dim convertExpr As Expression = Expression.Convert(
                            Expression.Constant(5.5),
                            GetType(Int16)
                        )

' Print the expression.
Console.WriteLine(convertExpr.ToString())

' The following statement first creates an expression tree,
' then compiles it, and then executes it.
Console.WriteLine(Expression.Lambda(Of Func(Of Int16))(convertExpr).Compile()())

' This code example produces the following output:
'
' Convert(5.5)
' 5

Açıklamalar

Sonuçta MethodUnaryExpression elde edilen özelliği uygulayan yönteme ayarlanır. IsLiftedToNull özelliği false. Düğüm kaldırılırsa, IsLifted olur true. Aksi takdirde, olur false.

Uygulama Yöntemi

Aşağıdaki kurallar, işlem için uygulama yöntemini belirler:

  • varsa expression. veya type türü, örtük veya açık dönüştürme işlecini tanımlayan kullanıcı tanımlı bir türdür; MethodInfo bu işleci temsil eden, uygulayan yöntemdir.

  • Aksi durumda:

    • Her ikisi de expressionise. Sayısal veya Boole türlerini veya null atanabilir veya boş değer atanamayan numaralandırma türlerini yazın ve type temsil edin; uygulayan yöntem şeklindedir null.

    • varsa expression. veya type bir başvuru türüdür ve açık bir kutulama, kutu açma veya başvuru dönüştürmesi vardır. expression türüne typeyazın, uygulayan yöntem şeklindedir null.

Kaldırılan ve Kaldırılmayanlara karşı

Eğer uygulanan yöntem null değilse:

  • Ise expression. Tür, uygulayan yöntemin bağımsız değişken türüne atanabilir ve uygulayan yöntemin dönüş türü öğesine typeatanabilir, düğüm kaldırılmaz.

  • bunlardan biri veya her ikisi expressionde ise. veya type null atanabilir bir değer türüdür ve karşılık gelen null atanamayan değer türleri, bağımsız değişken türüne ve uygulama yönteminin dönüş türüne karşılık gelir; düğüm kaldırılır.

Uygulama yöntemi ise null:

  • Her ikisi de expressionise. türü ve type null atanamaz, düğüm kaldırılmaz.

  • Aksi takdirde düğüm kaldırılır.

Şunlara uygulanır

Convert(Expression, Type, MethodInfo)

Kaynak:
UnaryExpression.cs
Kaynak:
UnaryExpression.cs
Kaynak:
UnaryExpression.cs
Kaynak:
UnaryExpression.cs
Kaynak:
UnaryExpression.cs

Uygulayan yöntemin belirtildiği dönüştürme işlemini temsil eden bir UnaryExpression oluşturur.

public:
 static System::Linq::Expressions::UnaryExpression ^ Convert(System::Linq::Expressions::Expression ^ expression, Type ^ type, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.UnaryExpression Convert(System.Linq.Expressions.Expression expression, Type type, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.UnaryExpression Convert(System.Linq.Expressions.Expression expression, Type type, System.Reflection.MethodInfo? method);
static member Convert : System.Linq.Expressions.Expression * Type * System.Reflection.MethodInfo -> System.Linq.Expressions.UnaryExpression
Public Shared Function Convert (expression As Expression, type As Type, method As MethodInfo) As UnaryExpression

Parametreler

expression
Expression

Özelliğinin Operand değerine eşit olarak ayarlanması için birExpression.

type
Type

Özelliğinin Type değerine eşit olarak ayarlanması için AType.

method
MethodInfo

Özelliğinin Method değerine eşit olarak ayarlanması için AMethodInfo.

Döndürülenler

UnaryExpression özelliğine ConvertNodeType eşit olan ve Operand, Typeve Method özellikleri belirtilen değerlere ayarlanmış.

Özel durumlar

expression veya type şeklindedir null.

method değil null ve temsil ettiği yöntem döndürüyor void, değil static (Shared Visual Basic'te) veya tam olarak bir bağımsız değişken almaz.

arasında expressionhiçbir dönüştürme işleci tanımlanmadı. ve typeyazın.

-veya-

expression. türü, tarafından methodtemsil edilen yöntemin bağımsız değişken türüne atanamaz.

-veya-

ile method temsil edilen yöntemin dönüş türü öğesine typeatanamaz.

-veya-

expression. veya type null atanabilir bir değer türüdür ve karşılık gelen null atanamaz değer türü, tarafından methodtemsil edilen yöntemin bağımsız değişken türüne veya dönüş türüne karşılık gelmez.

Açıklamayla method eşleşen birden fazla yöntem bulundu.

Açıklamalar

Sonuçta MethodUnaryExpression elde edilen özelliği uygulayan yönteme ayarlanır. IsLiftedToNull özelliği false. Düğüm kaldırılırsa, IsLifted olur true. Aksi takdirde, olur false.

Uygulama Yöntemi

Aşağıdaki kurallar, işlem için uygulama yöntemini belirler:

  • yöntem değilse null, uygulayan yöntemdir. Tek bir bağımsız değişken alan geçersiz static olmayan (Shared Visual Basic'te) bir yöntemi temsil etmelidir.

  • Aksi takdirde, varsa expression. veya type türü, örtük veya açık dönüştürme işlecini tanımlayan kullanıcı tanımlı bir türdür; MethodInfo bu işleci temsil eden, uygulayan yöntemdir.

  • Aksi durumda:

    • Her ikisi de expressionise. Sayısal veya Boole türlerini veya null atanabilir veya boş değer atanamayan numaralandırma türlerini yazın ve type temsil edin; uygulayan yöntem şeklindedir null.

    • varsa expression. veya type bir başvuru türüdür ve açık bir kutulama, kutu açma veya başvuru dönüştürmesi vardır. expression türüne typeyazın, uygulayan yöntem şeklindedir null.

Kaldırılan ve Kaldırılmayanlara karşı

Eğer uygulanan yöntem null değilse:

  • Ise expression. Tür, uygulayan yöntemin bağımsız değişken türüne atanabilir ve uygulayan yöntemin dönüş türü öğesine typeatanabilir, düğüm kaldırılmaz.

  • veya her ikisi de expressionise. veya type null atanabilir bir değer türüdür ve karşılık gelen null atanamayan değer türleri, bağımsız değişken türüne ve uygulama yönteminin dönüş türüne karşılık gelir ve düğüm kaldırılır.

Uygulama yöntemi ise null:

  • Her ikisi de expressionise. türü ve type null atanamaz, düğüm kaldırılmaz.

  • Aksi takdirde düğüm kaldırılır.

Şunlara uygulanır