DynamicExpression Sınıf

Tanım

Dinamik bir işlemi temsil eder.

public ref class DynamicExpression : System::Linq::Expressions::Expression, System::Linq::Expressions::IDynamicExpression
public ref class DynamicExpression : System::Linq::Expressions::Expression
public class DynamicExpression : System.Linq.Expressions.Expression, System.Linq.Expressions.IDynamicExpression
public class DynamicExpression : System.Linq.Expressions.Expression
type DynamicExpression = class
    inherit Expression
    interface IArgumentProvider
    interface IDynamicExpression
type DynamicExpression = class
    inherit Expression
type DynamicExpression = class
    inherit Expression
    interface IDynamicExpression
    interface IArgumentProvider
Public Class DynamicExpression
Inherits Expression
Implements IDynamicExpression
Public Class DynamicExpression
Inherits Expression
Devralma
DynamicExpression
Uygulamalar

Özellikler

Arguments

Dinamik işlemin bağımsız değişkenlerini alır.

Binder

Dinamik sitenin CallSiteBinderçalışma zamanı davranışını belirleyen öğesini alır.

CanReduce

Düğümün daha basit bir düğüme indirgenebileceğini gösterir. Bu true değerini döndürürse, azaltılmış formu oluşturmak için Reduce() çağrılabilir.

(Devralındığı yer: Expression)
DelegateType

tarafından CallSitekullanılan temsilcinin türünü alır.

NodeType

Bu ifadenin düğüm türünü döndürür. Bu yöntem geçersiz kılınırken uzantı düğümleri döndürülmelidir Extension .

Type

Bunu Expression temsil eden ifadenin statik türünü alır.

Yöntemler

Accept(ExpressionVisitor)

Bu düğüm türü için belirli bir ziyaret yöntemine gönderilir. Örneğin, MethodCallExpression öğesini çağırır VisitMethodCall(MethodCallExpression).

Dynamic(CallSiteBinder, Type, Expression)

Sağlanan CallSiteBindertarafından bağlanan dinamik işlemi temsil eden bir DynamicExpression oluşturur.

Dynamic(CallSiteBinder, Type, Expression, Expression)

Sağlanan CallSiteBindertarafından bağlanan dinamik işlemi temsil eden bir DynamicExpression oluşturur.

Dynamic(CallSiteBinder, Type, Expression, Expression, Expression)

Sağlanan CallSiteBindertarafından bağlanan dinamik işlemi temsil eden bir DynamicExpression oluşturur.

Dynamic(CallSiteBinder, Type, Expression, Expression, Expression, Expression)

Sağlanan CallSiteBindertarafından bağlanan dinamik işlemi temsil eden bir DynamicExpression oluşturur.

Dynamic(CallSiteBinder, Type, Expression[])

Sağlanan CallSiteBindertarafından bağlanan dinamik işlemi temsil eden bir DynamicExpression oluşturur.

Dynamic(CallSiteBinder, Type, IEnumerable<Expression>)

Sağlanan CallSiteBindertarafından bağlanan dinamik işlemi temsil eden bir DynamicExpression oluşturur.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MakeDynamic(Type, CallSiteBinder, Expression)

DynamicExpression Sağlanan CallSiteBinder ve bir bağımsız değişkenine bağlı dinamik işlemi temsil eden bir oluşturur.

MakeDynamic(Type, CallSiteBinder, Expression, Expression)

Sağlanan CallSiteBinder ve iki bağımsız değişkene bağlı dinamik işlemi temsil eden bir DynamicExpression oluşturur.

MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression)

Sağlanan CallSiteBinder ve üç bağımsız değişkenle ilişkili dinamik işlemi temsil eden bir DynamicExpression oluşturur.

MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression, Expression)

Sağlanan CallSiteBinder ve dört bağımsız değişkenine bağlı dinamik işlemi temsil eden bir DynamicExpression oluşturur.

MakeDynamic(Type, CallSiteBinder, Expression[])

Sağlanan CallSiteBindertarafından bağlanan dinamik işlemi temsil eden bir DynamicExpression oluşturur.

MakeDynamic(Type, CallSiteBinder, IEnumerable<Expression>)

Sağlanan CallSiteBindertarafından bağlanan dinamik işlemi temsil eden bir DynamicExpression oluşturur.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
Reduce()

Bu düğümü daha basit bir ifadeye küçültür. CanReduce true döndürürse, bu geçerli bir ifade döndürmelidir. Bu yöntem, azaltması gereken başka bir düğüm döndürebilir.

(Devralındığı yer: Expression)
ReduceAndCheck()

Bu düğümü daha basit bir ifadeye küçültür. CanReduce true döndürürse, bu geçerli bir ifade döndürmelidir. Bu yöntem, azaltması gereken başka bir düğüm döndürebilir.

(Devralındığı yer: Expression)
ReduceExtensions()

İfadeyi bilinen bir düğüm türüne (uzantı düğümü değildir) azaltır veya zaten bilinen bir türse yalnızca ifadeyi döndürür.

(Devralındığı yer: Expression)
ToString()

öğesinin metinsel gösterimini Expressiondöndürür.

(Devralındığı yer: Expression)
Update(IEnumerable<Expression>)

parametresine gönderilen değeri geçerli argumentsArguments örneğinin özelliğiyle DynamicExpressionkarşılaştırır. parametresinin ve özelliğinin değerleri eşitse, geçerli örnek döndürülür. Bunlar eşit değilse, özelliğinin parametresi argumentsdeğerine ayarlanması dışında Arguments geçerli örnekle aynı olan yeni DynamicExpression bir örnek döndürülür.

VisitChildren(ExpressionVisitor)

Düğümü azaltır ve ardından azaltılmış ifadede ziyaretçi temsilcisini çağırır. Yöntem, düğüm azaltılabilir değilse bir özel durum oluşturur.

(Devralındığı yer: Expression)

Belirtik Arabirim Kullanımları

IArgumentProvider.ArgumentCount

İfade ağacı düğümüne yönelik bağımsız değişkenlerin sayısını döndürür. Bu üyeyi kullanmamalısınız. Yalnızca derleme yeniden düzenlemesi nedeniyle geneldir ve performans iyileştirmeleri için dahili olarak kullanılır.

IArgumentProvider.GetArgument(Int32)

Dizin sınırların dışındaysa atarak dizindeki bağımsız değişkeni döndürür. Bu üyeyi kullanmamalısınız. Yalnızca derleme yeniden düzenlemesi nedeniyle geneldir ve performans iyileştirmeleri için dahili olarak kullanılır.

IDynamicExpression.CreateCallSite()

İsteğe bağlı olarak CallSite'yi oluşturur ve DynamicExpression'ın çok biçimli satır içi önbelleği için CallSite döndürür. Bu üyeyi kullanmamalısınız. Yalnızca derleme yeniden düzenlemesi nedeniyle geneldir ve performans iyileştirmeleri için dahili olarak kullanılır.

IDynamicExpression.Rewrite(Expression[])

Dinamik ifadenin bağımsız değişkenlerini sağlanan değerlerle değiştirerek bu düğümü yeniden yazın. Sayısının args geçerli ifadenin sayısıyla eşleşmesi gerekir. Bu türü kullanmamalısınız. Yalnızca derleme yeniden düzenlemesi nedeniyle geneldir ve performans iyileştirmeleri için dahili olarak kullanılır. Bu yardımcı yöntem, düğümlerin yeniden yazılmasının, çağrı sitesinde kullanılan DynamicExpression'dan türetilen belirli uygulama sınıfından bağımsız olmasını sağlar.

Şunlara uygulanır