Aracılığıyla paylaş


Expression.Convert Yöntem

Tanım

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

Aşırı Yüklemeler

Convert(Expression, Type)

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

Convert(Expression, Type, MethodInfo)

Uygulama yönteminin 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

Tür 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);
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ğini eşittir Type olarak ayarlamak için AType.

Döndürülenler

UnaryExpression ve ve özellikleri belirtilen değerlere ConvertOperandType ayarlanmış özelliğine sahip NodeType 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ğidirfalse. Düğüm kaldırılırsa, IsLifted şeklindedir true. Aksi takdirde, olur false.

Yöntem Uygulama

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

  • expressionvarsa. type Veya 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 null değer atanamayan sabit listesi türlerini yazın ve type temsil edin; uygulayan yöntem şeklindedir null.

    • expressionvarsa. Veya type türü bir başvuru türüdür ve içinden expressionaçık bir kutulama, kutu açma veya başvuru dönüştürmesi vardır. typeiçin yazın, uygulayan yöntem şeklindedirnull.

Yükseltilmiş ve Yükseltilmemiş Karşılaştırmadı

Uygulayan yöntem değilse null:

  • 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 boş değer atanamayan değer türleri sırasıyla bağımsız değişken türüne ve uygulayan yöntemin dönüş türüne eşittir, düğüm kaldırılır.

Uygulayan yöntem 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

Uygulama yönteminin 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ğini eşittir Type olarak ayarlamak için AType.

method
MethodInfo

Özelliğini eşittir Method olarak ayarlamak için AMethodInfo.

Döndürülenler

UnaryExpression ve , MethodTypeve Operandözellikleri belirtilen değerlere Convert ayarlanmış özelliğine sahip NodeType bir.

Özel durumlar

expression veya type şeklindedir null.

method değil null ve temsil ettiği yöntem döndürür 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 sırasıyla eşit değildir.

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ğidirfalse. Düğüm kaldırılırsa, IsLifted şeklindedir true. Aksi takdirde, olur false.

Yöntem Uygulama

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. type Veya 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 null değer atanamayan sabit listesi türlerini yazın ve type temsil edin; uygulayan yöntem şeklindedir null.

    • expressionvarsa. Veya type türü bir başvuru türüdür ve içinden expressionaçık bir kutulama, kutu açma veya başvuru dönüştürmesi vardır. typeiçin yazın, uygulayan yöntem şeklindedirnull.

Yükseltilmiş ve Yükseltilmemiş Karşılaştırmadı

Uygulayan yöntem değilse null:

  • 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. type veya null atanabilir bir değer türüdür ve karşılık gelen boş değer atanamayan değer türleri sırasıyla bağımsız değişken türüne ve uygulayan yöntemin dönüş türüne eşittir, düğüm kaldırılır.

Uygulayan yöntem 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