MethodCallExpression 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.
Statik veya örnek yöntemine yapılan çağrıyı temsil eder.
public ref class MethodCallExpression : System::Linq::Expressions::Expression, System::Linq::Expressions::IArgumentProvider
public ref class MethodCallExpression sealed : System::Linq::Expressions::Expression
public ref class MethodCallExpression : System::Linq::Expressions::Expression
public class MethodCallExpression : System.Linq.Expressions.Expression, System.Linq.Expressions.IArgumentProvider
public sealed class MethodCallExpression : System.Linq.Expressions.Expression
public class MethodCallExpression : System.Linq.Expressions.Expression
type MethodCallExpression = class
inherit Expression
interface IArgumentProvider
type MethodCallExpression = class
inherit Expression
Public Class MethodCallExpression
Inherits Expression
Implements IArgumentProvider
Public NotInheritable Class MethodCallExpression
Inherits Expression
Public Class MethodCallExpression
Inherits Expression
- Devralma
- Uygulamalar
Örnekler
Aşağıdaki örnek, iki boyutlu bir MethodCallExpression dizide dizin oluşturmayı temsil eden bir nesne oluşturur.
string[,] gradeArray =
{ {"chemistry", "history", "mathematics"}, {"78", "61", "82"} };
System.Linq.Expressions.Expression arrayExpression =
System.Linq.Expressions.Expression.Constant(gradeArray);
// Create a MethodCallExpression that represents indexing
// into the two-dimensional array 'gradeArray' at (0, 2).
// Executing the expression would return "mathematics".
System.Linq.Expressions.MethodCallExpression methodCallExpression =
System.Linq.Expressions.Expression.ArrayIndex(
arrayExpression,
System.Linq.Expressions.Expression.Constant(0),
System.Linq.Expressions.Expression.Constant(2));
Console.WriteLine(methodCallExpression.ToString());
// This code produces the following output:
//
// value(System.String[,]).Get(0, 2)
Dim gradeArray(,) As String = _
{{"chemistry", "history", "mathematics"}, {"78", "61", "82"}}
Dim arrayExpression As System.Linq.Expressions.Expression = _
System.Linq.Expressions.Expression.Constant(gradeArray)
' Create a MethodCallExpression that represents indexing
' into the two-dimensional array 'gradeArray' at (0, 2).
' Executing the expression would return "mathematics".
Dim methodCallExpression As System.Linq.Expressions.MethodCallExpression = _
System.Linq.Expressions.Expression.ArrayIndex( _
arrayExpression, _
System.Linq.Expressions.Expression.Constant(0), _
System.Linq.Expressions.Expression.Constant(2))
Console.WriteLine(methodCallExpression.ToString())
' This code produces the following output:
'
' value(System.String[,]).Get(0, 2)
Açıklamalar
Calloluşturmak MethodCallExpressioniçin , ArrayIndexveya ArrayIndex fabrika yöntemini kullanın.
Nesnesinin NodeTypeMethodCallExpression özelliğinin değeri şeklindedir Call.
Özellikler
Arguments |
Çağrılan yöntemin bağımsız değişkenlerini temsil eden ifade koleksiyonunu 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) |
Method |
MethodInfo Çağrılacak yöntemi için öğesini alır. |
NodeType |
Bu Expressiondüğüm türünü döndürür. |
NodeType |
Bu Expressiondüğüm türünü alır. (Devralındığı yer: Expression) |
Object |
Expression Örnek yöntemi çağrıları örneğini veya statik yöntem çağrıları için null değerini temsil eden öğesini alır. |
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). |
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. |