Expression.Convert 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.
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.
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.typeVeya 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 vetypetemsil edin; uygulayan yöntem şeklindedirnull.expressionvarsa. Veyatypetürü bir başvuru türüdür ve içindenexpressionaçı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ü öğesinetypeatanabilir, düğüm kaldırılmaz.bunlardan biri veya her ikisi
expressionde ise. veyatypenull 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ü vetypenull 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.
- 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çersizstaticolmayan (SharedVisual Basic'te) bir yöntemi temsil etmelidir.Aksi takdirde, varsa
expression.typeVeya 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 vetypetemsil edin; uygulayan yöntem şeklindedirnull.expressionvarsa. Veyatypetürü bir başvuru türüdür ve içindenexpressionaçı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ü öğesinetypeatanabilir, düğüm kaldırılmaz.veya her ikisi de
expressionise.typeveya 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ü vetypenull atanamaz, düğüm kaldırılmaz.Aksi takdirde düğüm kaldırılır.