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 expression
hiçbir dönüştürme işleci tanımlanmadı. ve type
yazı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:
expression
varsa.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
expression
ise. Sayısal veya Boole türlerini veya null atanabilir veya null değer atanamayan sabit listesi türlerini yazın vetype
temsil edin; uygulayan yöntem şeklindedirnull
.expression
varsa. Veyatype
türü bir başvuru türüdür ve içindenexpression
açık bir kutulama, kutu açma veya başvuru dönüştürmesi vardır.type
iç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ü öğesinetype
atanabilir, düğüm kaldırılmaz.bunlardan biri veya her ikisi
expression
de ise. veyatype
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
expression
ise. türü vetype
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.
- 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 expression
hiçbir dönüştürme işleci tanımlanmadı. ve type
yazın.
-veya-
expression
. türü, tarafından method
temsil 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 type
atanamaz.
-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 method
temsil 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çersizstatic
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
expression
ise. Sayısal veya Boole türlerini veya null atanabilir veya null değer atanamayan sabit listesi türlerini yazın vetype
temsil edin; uygulayan yöntem şeklindedirnull
.expression
varsa. Veyatype
türü bir başvuru türüdür ve içindenexpression
açık bir kutulama, kutu açma veya başvuru dönüştürmesi vardır.type
iç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ü öğesinetype
atanabilir, düğüm kaldırılmaz.veya her ikisi de
expression
ise.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
expression
ise. türü vetype
null atanamaz, düğüm kaldırılmaz.Aksi takdirde düğüm kaldırılır.