InvocationExpression Sınıf
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.
Bağımsız değişken ifadeleri listesine temsilci veya lambda ifadesi uygulayan bir ifadeyi temsil eder.
public ref class InvocationExpression sealed : System::Linq::Expressions::Expression, System::Linq::Expressions::IArgumentProvider
public ref class InvocationExpression sealed : System::Linq::Expressions::Expression
public sealed class InvocationExpression : System.Linq.Expressions.Expression, System.Linq.Expressions.IArgumentProvider
public sealed class InvocationExpression : System.Linq.Expressions.Expression
type InvocationExpression = class
inherit Expression
interface IArgumentProvider
type InvocationExpression = class
inherit Expression
Public NotInheritable Class InvocationExpression
Inherits Expression
Implements IArgumentProvider
Public NotInheritable Class InvocationExpression
Inherits Expression
- Devralma
- Uygulamalar
Örnekler
Aşağıdaki örnek, belirtilen bağımsız değişkenlerle lambda ifadesini çağırmayı temsil eden bir oluşturur InvocationExpression .
System.Linq.Expressions.Expression<Func<int, int, bool>> largeSumTest =
(num1, num2) => (num1 + num2) > 1000;
// Create an InvocationExpression that represents applying
// the arguments '539' and '281' to the lambda expression 'largeSumTest'.
System.Linq.Expressions.InvocationExpression invocationExpression =
System.Linq.Expressions.Expression.Invoke(
largeSumTest,
System.Linq.Expressions.Expression.Constant(539),
System.Linq.Expressions.Expression.Constant(281));
Console.WriteLine(invocationExpression.ToString());
// This code produces the following output:
//
// Invoke((num1, num2) => ((num1 + num2) > 1000),539,281)
Dim largeSumTest As System.Linq.Expressions.Expression(Of System.Func(Of Integer, Integer, Boolean)) = _
Function(num1, num2) (num1 + num2) > 1000
' Create an InvocationExpression that represents applying
' the arguments '539' and '281' to the lambda expression 'largeSumTest'.
Dim invocationExpression As System.Linq.Expressions.InvocationExpression = _
System.Linq.Expressions.Expression.Invoke( _
largeSumTest, _
System.Linq.Expressions.Expression.Constant(539), _
System.Linq.Expressions.Expression.Constant(281))
Console.WriteLine(invocationExpression.ToString())
' This code produces the following output:
'
' Invoke((num1, num2) => ((num1 + num2) > 1000),539,281)
Açıklamalar
Invoke Oluşturmak InvocationExpressioniçin fabrika yöntemlerini kullanın.
bir NodeTypeInvocationExpression öğesinin adıdır Invoke.
Özellikler
Arguments |
Temsilci veya lambda ifadesinin uygulandığı bağımsız değişkenleri alır. |
CanReduce |
Düğümün daha basit bir düğüme indirgenebileceğini gösterir. Bu true döndürürse, azaltılmış formu oluşturmak için Reduce() çağrılabilir. (Devralındığı yer: Expression) |
Expression |
Uygulanacak temsilci veya lambda ifadesini 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 . |
NodeType |
Bu Expressiondüğüm türünü alır. (Devralındığı yer: Expression) |
Type |
Bunun Expression temsil ettiği ifadenin statik türünü alır. |
Type |
Bunun Expression temsil ettiği ifadenin statik türünü alır. (Devralındığı yer: Expression) |
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). (Devralındığı yer: Expression) |
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) |
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 bir gösterimini Expressiondöndürür. (Devralındığı yer: Expression) |
Update(Expression, IEnumerable<Expression>) |
Bunun gibi, ancak sağlanan alt öğeleri kullanarak yeni bir ifade oluşturur. Tüm alt öğeler aynıysa bu ifade döndürülecektir. |
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 oluşturarak 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. |