Aracılığıyla paylaş


Expression.Call Yöntem

Tanım

bir MethodCallExpressionoluşturur.

Aşırı Yüklemeler

Call(MethodInfo, Expression, Expression, Expression, Expression, Expression)

MethodCallExpression Beş bağımsız değişken alan statik bir yönteme yapılan çağrıyı temsil eden bir oluşturur.

Call(Expression, MethodInfo, Expression, Expression, Expression)

MethodCallExpression Üç bağımsız değişken alan bir yönteme yapılan çağrıyı temsil eden bir oluşturur.

Call(Type, String, Type[], Expression[])

Uygun fabrika yöntemini çağırarak (Shared Visual Basic'te) yöntemine yapılan çağrıyı temsil eden bir MethodCallExpressionstatic oluşturur.

Call(MethodInfo, Expression, Expression, Expression)

Üç bağımsız değişken alan statik bir yönteme yapılan çağrıyı temsil eden bir MethodCallExpression oluşturur.

Call(Expression, String, Type[], Expression[])

MethodCallExpression Uygun fabrika yöntemini çağırarak bir yönteme yapılan çağrıyı temsil eden bir oluşturur.

Call(Expression, MethodInfo, Expression, Expression)

MethodCallExpression İki bağımsız değişken alan bir yönteme yapılan çağrıyı temsil eden bir oluşturur.

Call(MethodInfo, Expression, Expression, Expression, Expression)

MethodCallExpression Dört bağımsız değişken alan statik bir yönteme yapılan çağrıyı temsil eden bir oluşturur.

Call(Expression, MethodInfo, Expression[])

MethodCallExpression Bağımsız değişkenleri alan bir yönteme yapılan çağrıyı temsil eden bir oluşturur.

Call(Expression, MethodInfo, IEnumerable<Expression>)

MethodCallExpression Bağımsız değişkenleri alan bir yönteme yapılan çağrıyı temsil eden bir oluşturur.

Call(MethodInfo, Expression[])

MethodCallExpression Bağımsız değişkenleri olan bir (Shared Visual Basic'te) yöntemine yapılan çağrıyı temsil eden bir static oluşturur.

Call(MethodInfo, Expression)

Bir MethodCallExpression bağımsız değişken alan ( staticShared Visual Basic'te) yöntemine yapılan çağrıyı temsil eden bir oluşturur.

Call(MethodInfo, IEnumerable<Expression>)

MethodCallExpression Statik (Visual Basic'te Paylaşılan) yöntemine yapılan çağrıyı temsil eden bir oluşturur.

Call(Expression, MethodInfo)

MethodCallExpression Bağımsız değişken içermeyen bir yönteme yapılan çağrıyı temsil eden bir oluşturur.

Call(MethodInfo, Expression, Expression)

MethodCallExpression İki bağımsız değişken alan statik bir yönteme yapılan çağrıyı temsil eden bir oluşturur.

Call(MethodInfo, Expression, Expression, Expression, Expression, Expression)

Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs

MethodCallExpression Beş bağımsız değişken alan statik bir yönteme yapılan çağrıyı temsil eden bir oluşturur.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Reflection::MethodInfo ^ method, System::Linq::Expressions::Expression ^ arg0, System::Linq::Expressions::Expression ^ arg1, System::Linq::Expressions::Expression ^ arg2, System::Linq::Expressions::Expression ^ arg3, System::Linq::Expressions::Expression ^ arg4);
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, System.Linq.Expressions.Expression arg0, System.Linq.Expressions.Expression arg1, System.Linq.Expressions.Expression arg2, System.Linq.Expressions.Expression arg3, System.Linq.Expressions.Expression arg4);
static member Call : System.Reflection.MethodInfo * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (method As MethodInfo, arg0 As Expression, arg1 As Expression, arg2 As Expression, arg3 As Expression, arg4 As Expression) As MethodCallExpression

Parametreler

method
MethodInfo

Özelliğini eşittir Method olarak ayarlamak için AMethodInfo.

arg0
Expression

İlk Expression bağımsız değişkeni temsil eden.

arg1
Expression

İkinci Expression bağımsız değişkeni temsil eden.

arg2
Expression

Üçüncü Expression bağımsız değişkeni temsil eden.

arg3
Expression

Dördüncü Expression bağımsız değişkeni temsil eden.

arg4
Expression

Beşinci Expression bağımsız değişkeni temsil eden.

Döndürülenler

MethodCallExpression ve ve özellikleri belirtilen değerlere CallObjectMethod ayarlanmış özelliğine sahip NodeType bir.

Özel durumlar

method null değeridir.

Şunlara uygulanır

Call(Expression, MethodInfo, Expression, Expression, Expression)

Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs

MethodCallExpression Üç bağımsız değişken alan bir yönteme yapılan çağrıyı temsil eden bir oluşturur.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Linq::Expressions::Expression ^ instance, System::Reflection::MethodInfo ^ method, System::Linq::Expressions::Expression ^ arg0, System::Linq::Expressions::Expression ^ arg1, System::Linq::Expressions::Expression ^ arg2);
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression instance, System.Reflection.MethodInfo method, System.Linq.Expressions.Expression arg0, System.Linq.Expressions.Expression arg1, System.Linq.Expressions.Expression arg2);
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression? instance, System.Reflection.MethodInfo method, System.Linq.Expressions.Expression arg0, System.Linq.Expressions.Expression arg1, System.Linq.Expressions.Expression arg2);
static member Call : System.Linq.Expressions.Expression * System.Reflection.MethodInfo * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (instance As Expression, method As MethodInfo, arg0 As Expression, arg1 As Expression, arg2 As Expression) As MethodCallExpression

Parametreler

instance
Expression

Örnek Expression çağrısının örneğini belirten bir. (statik (Visual Basic'te Paylaşılan) yöntemi için null değerini geçirin).

method
MethodInfo

MethodInfo Hedef yöntemi temsil eden.

arg0
Expression

İlk Expression bağımsız değişkeni temsil eden.

arg1
Expression

İkinci Expression bağımsız değişkeni temsil eden.

arg2
Expression

Üçüncü Expression bağımsız değişkeni temsil eden.

Döndürülenler

MethodCallExpression ve ve özellikleri belirtilen değerlere CallObjectMethod ayarlanmış özelliğine sahip NodeType bir.

Şunlara uygulanır

Call(Type, String, Type[], Expression[])

Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs

Uygun fabrika yöntemini çağırarak (Shared Visual Basic'te) yöntemine yapılan çağrıyı temsil eden bir MethodCallExpressionstatic oluşturur.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(Type ^ type, System::String ^ methodName, cli::array <Type ^> ^ typeArguments, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.MethodCallExpression Call (Type type, string methodName, Type[] typeArguments, params System.Linq.Expressions.Expression[] arguments);
public static System.Linq.Expressions.MethodCallExpression Call (Type type, string methodName, Type[]? typeArguments, params System.Linq.Expressions.Expression[]? arguments);
static member Call : Type * string * Type[] * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (type As Type, methodName As String, typeArguments As Type(), ParamArray arguments As Expression()) As MethodCallExpression

Parametreler

type
Type

Belirtilen static (Shared Visual Basic'te) yöntemini içeren tür.

methodName
String

Yöntemin adı.

typeArguments
Type[]

Genel yöntemin Type tür parametrelerini belirten bir nesne dizisi. methodName genel olmayan bir yöntem belirttiğinde bu bağımsız değişken null olmalıdır.

arguments
Expression[]

yönteminin Expression bağımsız değişkenlerini temsil eden bir nesne dizisi.

Döndürülenler

MethodCallExpression özelliğine Calleşit olanNodeType, Method özelliği MethodInfo belirtilen static (Shared Visual Basic'te) yöntemini temsil eden özelliğine, Arguments özelliği ise belirtilen bağımsız değişkenlere ayarlanmıştır.

Özel durumlar

type veya methodName şeklindedir null.

Adı methodName, türü parametreleri ile eşleşen ve parametre türleriyle eşleşen typeArgumentsargumentstype veya temel türleri bulunan bir yöntem yoktur.

-veya-

Türü parametreleri ile eşleşen ve parametre türleri eşleşen typeArgumentsveya temel türlerinde typearguments bulunan, adı methodNameolan birden fazla yöntem.

Açıklamalar

Sonuçta TypeMethodCallExpression elde edilen özelliği, tarafından methodNamebelirtilen yöntemin dönüş türüne eşittir. Object özelliğidirnull.

Şunlara uygulanır

Call(MethodInfo, Expression, Expression, Expression)

Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs

Üç bağımsız değişken alan statik bir yönteme yapılan çağrıyı temsil eden bir MethodCallExpression oluşturur.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Reflection::MethodInfo ^ method, System::Linq::Expressions::Expression ^ arg0, System::Linq::Expressions::Expression ^ arg1, System::Linq::Expressions::Expression ^ arg2);
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, System.Linq.Expressions.Expression arg0, System.Linq.Expressions.Expression arg1, System.Linq.Expressions.Expression arg2);
static member Call : System.Reflection.MethodInfo * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (method As MethodInfo, arg0 As Expression, arg1 As Expression, arg2 As Expression) As MethodCallExpression

Parametreler

method
MethodInfo

Özelliğini eşittir Method olarak ayarlamak için AMethodInfo.

arg0
Expression

İlk Expression bağımsız değişkeni temsil eden.

arg1
Expression

İkinci Expression bağımsız değişkeni temsil eden.

arg2
Expression

Üçüncü Expression bağımsız değişkeni temsil eden.

Döndürülenler

MethodCallExpression ve ve özellikleri belirtilen değerlere CallObjectMethod ayarlanmış özelliğine sahip NodeType bir.

Özel durumlar

method null değeridir.

Şunlara uygulanır

Call(Expression, String, Type[], Expression[])

Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs

MethodCallExpression Uygun fabrika yöntemini çağırarak bir yönteme yapılan çağrıyı temsil eden bir oluşturur.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Linq::Expressions::Expression ^ instance, System::String ^ methodName, cli::array <Type ^> ^ typeArguments, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression instance, string methodName, Type[] typeArguments, params System.Linq.Expressions.Expression[] arguments);
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression instance, string methodName, Type[]? typeArguments, params System.Linq.Expressions.Expression[]? arguments);
static member Call : System.Linq.Expressions.Expression * string * Type[] * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (instance As Expression, methodName As String, typeArguments As Type(), ParamArray arguments As Expression()) As MethodCallExpression

Parametreler

instance
Expression

ExpressionType Özellik değeri belirli bir yöntem için aranacak olan.

methodName
String

Yöntemin adı.

typeArguments
Type[]

Genel yöntemin Type tür parametrelerini belirten bir nesne dizisi. methodName genel olmayan bir yöntem belirttiğinde bu bağımsız değişken null olmalıdır.

arguments
Expression[]

yönteminin Expression bağımsız değişkenlerini temsil eden bir nesne dizisi.

Döndürülenler

MethodCallExpression özelliğine Calleşit olan NodeType , Object değerine eşit MethodInfoinstanceMethod özelliği, belirtilen örnek yöntemini temsil eden değerine ayarlanır ve Arguments belirtilen bağımsız değişkenlere ayarlanır.

Özel durumlar

instance veya methodName şeklindedir null.

Türü parametreleri ile eşleşen ve parametre türleri ile eşleşen typeArgumentsarguments adı methodNameolan hiçbir yöntem içinde instancebulunmaz. Tür veya temel türleri.

-veya-

Türü parametreleri ile eşleşen ve parametre türleri arguments eşleşen typeArgumentsadı methodNameolan birden fazla yöntem içinde instancebulunur. Tür veya temel türleri.

Açıklamalar

Sonuçta TypeMethodCallExpression elde edilen özelliği, tarafından methodNamebelirtilen yöntemin dönüş türüne eşittir.

Şunlara uygulanır

Call(Expression, MethodInfo, Expression, Expression)

Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs

MethodCallExpression İki bağımsız değişken alan bir yönteme yapılan çağrıyı temsil eden bir oluşturur.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Linq::Expressions::Expression ^ instance, System::Reflection::MethodInfo ^ method, System::Linq::Expressions::Expression ^ arg0, System::Linq::Expressions::Expression ^ arg1);
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression instance, System.Reflection.MethodInfo method, System.Linq.Expressions.Expression arg0, System.Linq.Expressions.Expression arg1);
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression? instance, System.Reflection.MethodInfo method, System.Linq.Expressions.Expression arg0, System.Linq.Expressions.Expression arg1);
static member Call : System.Linq.Expressions.Expression * System.Reflection.MethodInfo * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (instance As Expression, method As MethodInfo, arg0 As Expression, arg1 As Expression) As MethodCallExpression

Parametreler

instance
Expression

Örnek Expression çağrısının örneğini belirten bir. (statik (Visual Basic'te Paylaşılan) yöntemi için null değerini geçirin).

method
MethodInfo

MethodInfo Hedef yöntemi temsil eden.

arg0
Expression

İlk Expression bağımsız değişkeni temsil eden.

arg1
Expression

İkinci Expression bağımsız değişkeni temsil eden.

Döndürülenler

MethodCallExpression ve ve özellikleri belirtilen değerlere CallObjectMethod ayarlanmış özelliğine sahip NodeType bir.

Örnekler

Aşağıdaki kod örneği, iki bağımsız değişkeni olan bir örnek yöntemini çağıran bir ifadenin nasıl oluşturulacağını gösterir.

// Add the following directive to your file:
// using System.Linq.Expressions;
public class SampleClass
{
    public int AddIntegers(int arg1, int arg2)
    {
        return arg1 + arg2;
    }
}

static public void TestCall()
{
    // This expression represents a call to an instance method that has two arguments.
    // The first argument is an expression that creates a new object of the specified type.
    Expression callExpr = Expression.Call(
        Expression.New(typeof(SampleClass)),
        typeof(SampleClass).GetMethod("AddIntegers", new Type[] { typeof(int), typeof(int) }),
        Expression.Constant(1),
        Expression.Constant(2)
        );

    // Print out the expression.
    Console.WriteLine(callExpr.ToString());

    // The following statement first creates an expression tree,
    // then compiles it, and then executes it.
    Console.WriteLine(Expression.Lambda<Func<int>>(callExpr).Compile()());

    // This code example produces the following output:
    //
    // new SampleClass().AddIntegers(1, 2)
    // 3
}
' Add the following directive to your file:
' Imports System.Linq.Expressions  

Public Class SampleClass
    Public Function AddIntegers(ByVal arg1 As Integer, ByVal arg2 As Integer) As Integer
        Return (arg1 + arg2)
    End Function
End Class
Public Shared Sub TestCall()
    ' This expression represents a call to an instance method that has two arguments.
    ' The first argument is an expression that creates a new object of the specified type.
    Dim callExpr As Expression = Expression.Call(
        Expression.[New](GetType(SampleClass)),
        GetType(SampleClass).GetMethod("AddIntegers", New Type() {GetType(Integer), GetType(Integer)}),
        Expression.Constant(1),
        Expression.Constant(2)
      )

    ' Print the expression.
    Console.WriteLine(callExpr.ToString())

    ' The following statement first creates an expression tree,
    ' then compiles it, and then executes it.
    Console.WriteLine(Expression.Lambda(Of Func(Of Integer))(callExpr).Compile()())
End Sub

' This code example produces the following output:
'
' new SampleClass().AddIntegers(1, 2)
' 3

Şunlara uygulanır

Call(MethodInfo, Expression, Expression, Expression, Expression)

Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs

MethodCallExpression Dört bağımsız değişken alan statik bir yönteme yapılan çağrıyı temsil eden bir oluşturur.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Reflection::MethodInfo ^ method, System::Linq::Expressions::Expression ^ arg0, System::Linq::Expressions::Expression ^ arg1, System::Linq::Expressions::Expression ^ arg2, System::Linq::Expressions::Expression ^ arg3);
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, System.Linq.Expressions.Expression arg0, System.Linq.Expressions.Expression arg1, System.Linq.Expressions.Expression arg2, System.Linq.Expressions.Expression arg3);
static member Call : System.Reflection.MethodInfo * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (method As MethodInfo, arg0 As Expression, arg1 As Expression, arg2 As Expression, arg3 As Expression) As MethodCallExpression

Parametreler

method
MethodInfo

Özelliğini eşittir Method olarak ayarlamak için AMethodInfo.

arg0
Expression

İlk Expression bağımsız değişkeni temsil eden.

arg1
Expression

İkinci Expression bağımsız değişkeni temsil eden.

arg2
Expression

Üçüncü Expression bağımsız değişkeni temsil eden.

arg3
Expression

Dördüncü Expression bağımsız değişkeni temsil eden.

Döndürülenler

MethodCallExpression ve ve özellikleri belirtilen değerlere CallObjectMethod ayarlanmış özelliğine sahip NodeType bir.

Özel durumlar

method null değeridir.

Şunlara uygulanır

Call(Expression, MethodInfo, Expression[])

Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs

MethodCallExpression Bağımsız değişkenleri alan bir yönteme yapılan çağrıyı temsil eden bir oluşturur.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Linq::Expressions::Expression ^ instance, System::Reflection::MethodInfo ^ method, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression instance, System.Reflection.MethodInfo method, params System.Linq.Expressions.Expression[] arguments);
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression? instance, System.Reflection.MethodInfo method, params System.Linq.Expressions.Expression[]? arguments);
static member Call : System.Linq.Expressions.Expression * System.Reflection.MethodInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (instance As Expression, method As MethodInfo, ParamArray arguments As Expression()) As MethodCallExpression

Parametreler

instance
Expression

Örnek Expression yöntemi çağrısının örneğini belirten bir (Visual Basic'te )Shared yöntemi için static geçirinnull.

method
MethodInfo

Özelliğinin Method değerine eşit olarak ayarlanması için AMethodInfo.

arguments
Expression[]

Koleksiyonu doldurmak Arguments için kullanılacak nesne dizisiExpression.

Döndürülenler

MethodCallExpression özelliğine CallNodeType eşit olan ve Object, Methodve Arguments özellikleri belirtilen değerlere ayarlanmış.

Özel durumlar

method, null değeridir.

-veya-

instancemethod ve null bir örnek yöntemini temsil eder.

-veya-

arguments değildir null ve öğelerinden biri veya daha fazlası şeklindedir null.

instance. türü, tarafından methodtemsil edilen yöntemin bildirim türüne atanamaz.

-veya-

içindeki arguments öğe sayısı, ile methodtemsil edilen yöntemin parametre sayısına eşit değildir.

-veya-

öğesinden arguments bir veya daha fazlası tarafından methodtemsil edilen yöntemin ilgili parametresine atanamaz.

Açıklamalar

Bir (Shared Visual Basic'te) yöntemine yapılan çağrıyı instance temsil etmek static için, bu yöntemi çağırdığınızda parametresi için geçirin null veya bunun yerine çağrısı Call yapın.

Bir örnek yöntemini temsil ederse method , özelliğinin Typeinstance tarafından methodtemsil edilen yöntemin bildirim türüne atanabilmesi gerekir.

nulldeğilsearguments, ile temsil edilen methodyöntemin parametre sayısıyla aynı sayıda öğeye sahip olmalıdır. içindeki argumentsnull her öğe, büyük olasılıkla alıntı yaptıktan sonra öğesine karşılık gelen parametresine methodatanamaz ve atanabilir olmalıdır.

Not

Bir öğe yalnızca karşılık gelen yöntem parametresi türündeyse Expressiontırnak içine alınır. Alıntı, öğenin bir Quote düğümde sarmalanması anlamına gelir. Sonuçta elde edilen düğüm, özelliği öğesi olan bir UnaryExpressionOperand düğümdür arguments.

sonuçta Arguments elde edilen MethodCallExpression özelliği ise arguments boş olur null. Aksi takdirde, ile aynı öğeleri argumentsiçerir ve bazıları tırnak içine alınabilir.

Sonuçta Type elde edilen MethodCallExpression özelliği, tarafından methodtemsil edilen yöntemin dönüş türüne eşittir.

Şunlara uygulanır

Call(Expression, MethodInfo, IEnumerable<Expression>)

Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs

MethodCallExpression Bağımsız değişkenleri alan bir yönteme yapılan çağrıyı temsil eden bir oluşturur.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Linq::Expressions::Expression ^ instance, System::Reflection::MethodInfo ^ method, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression instance, System.Reflection.MethodInfo method, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments);
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression? instance, System.Reflection.MethodInfo method, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments);
static member Call : System.Linq.Expressions.Expression * System.Reflection.MethodInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (instance As Expression, method As MethodInfo, arguments As IEnumerable(Of Expression)) As MethodCallExpression

Parametreler

instance
Expression

Expression özelliğini değerine Object eşit olarak ayarlamak için (bir (Shared Visual Basic'te) yöntemi için static geçirinnull).

method
MethodInfo

Özelliğinin Method değerine eşit olarak ayarlanması için AMethodInfo.

arguments
IEnumerable<Expression>

IEnumerable<T> Koleksiyonu doldurmak Arguments için kullanılacak nesneleri içerenExpression.

Döndürülenler

MethodCallExpression özelliğine CallNodeType eşit olan ve Object, Methodve Arguments özellikleri belirtilen değerlere ayarlanmış.

Özel durumlar

method, null değeridir.

-veya-

instancemethod ve null bir örnek yöntemini temsil eder.

instance. türü, tarafından methodtemsil edilen yöntemin bildirim türüne atanamaz.

-veya-

içindeki arguments öğe sayısı, ile methodtemsil edilen yöntemin parametre sayısına eşit değildir.

-veya-

öğesinden arguments bir veya daha fazlası tarafından methodtemsil edilen yöntemin ilgili parametresine atanamaz.

Açıklamalar

Bir (Shared Visual Basic'te) yöntemine yapılan çağrıyı instance temsil etmek static için, bu yöntemi çağırdığınızda parametresi için geçirin null veya bunun yerine çağrısı Call yapın.

Bir örnek yöntemini temsil ederse method , özelliğinin Typeinstance tarafından methodtemsil edilen yöntemin bildirim türüne atanabilmesi gerekir.

nulldeğilsearguments, ile temsil edilen methodyöntemin parametre sayısıyla aynı sayıda öğeye sahip olmalıdır. içindeki argumentsnull her öğe, büyük olasılıkla alıntı yaptıktan sonra öğesine karşılık gelen parametresine methodatanamaz ve atanabilir olmalıdır.

Not

Bir öğe yalnızca karşılık gelen yöntem parametresi türündeyse Expressiontırnak içine alınır. Alıntı, öğenin bir Quote düğümde sarmalanması anlamına gelir. Sonuçta elde edilen düğüm, özelliği öğesi olan bir UnaryExpressionOperand düğümdür arguments.

sonuçta Arguments elde edilen MethodCallExpression özelliği ise arguments boş olur null. Aksi takdirde, ile aynı öğeleri argumentsiçerir ve bazıları tırnak içine alınabilir.

Sonuçta Type elde edilen MethodCallExpression özelliği, tarafından methodtemsil edilen yöntemin dönüş türüne eşittir.

Şunlara uygulanır

Call(MethodInfo, Expression[])

Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs

MethodCallExpression Bağımsız değişkenler içeren bir (Shared Visual Basic'te) yöntemine yapılan çağrıyı temsil eden bir static oluşturur.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Reflection::MethodInfo ^ method, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, params System.Linq.Expressions.Expression[] arguments);
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, params System.Linq.Expressions.Expression[]? arguments);
static member Call : System.Reflection.MethodInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (method As MethodInfo, ParamArray arguments As Expression()) As MethodCallExpression

Parametreler

method
MethodInfo

MethodInfo Özelliğinin eşit olarak ayarlanması Method için bir static (Shared Visual Basic'te) yöntemini temsil eden bir.

arguments
Expression[]

Koleksiyonu doldurmak Arguments için kullanılacak nesne dizisiExpression.

Döndürülenler

MethodCallExpression özelliğine CallNodeType eşit olan ve ve ArgumentsMethod özellikleri belirtilen değerlere ayarlanmış bir.

Özel durumlar

method, null değeridir.

içindeki arguments öğe sayısı, ile methodtemsil edilen yöntemin parametre sayısına eşit değildir.

-veya-

öğesinden arguments bir veya daha fazlası tarafından methodtemsil edilen yöntemin ilgili parametresine atanamaz.

Açıklamalar

nulldeğilsearguments, ile temsil edilen methodyöntemin parametre sayısıyla aynı sayıda öğeye sahip olmalıdır. içindeki argumentsnull her öğe, büyük olasılıkla alıntı yaptıktan sonra öğesine karşılık gelen parametresine methodatanamaz ve atanabilir olmalıdır.

Not

Bir öğe yalnızca karşılık gelen yöntem parametresi türündeyse Expressiontırnak içine alınır. Alıntı, öğenin bir Quote düğümde sarmalanması anlamına gelir. Sonuçta elde edilen düğüm, özelliği öğesi olan bir UnaryExpressionOperand düğümdür arguments.

sonuçta Arguments elde edilen MethodCallExpression özelliği ise arguments boş olur null. Aksi takdirde, ile aynı öğeleri argumentsiçerir ve bazıları tırnak içine alınabilir.

Sonuçta Type elde edilen MethodCallExpression özelliği, tarafından methodtemsil edilen yöntemin dönüş türüne eşittir. Object özelliğidirnull.

Şunlara uygulanır

Call(MethodInfo, Expression)

Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs

Bir MethodCallExpression bağımsız değişken alan bir static (Shared Visual Basic'te) yöntemine yapılan çağrıyı temsil eden bir oluşturur.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Reflection::MethodInfo ^ method, System::Linq::Expressions::Expression ^ arg0);
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, System.Linq.Expressions.Expression arg0);
static member Call : System.Reflection.MethodInfo * System.Linq.Expressions.Expression -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (method As MethodInfo, arg0 As Expression) As MethodCallExpression

Parametreler

method
MethodInfo

Özelliğinin Method değerine eşit olarak ayarlanması için AMethodInfo.

arg0
Expression

İlk Expression bağımsız değişkeni temsil eden.

Döndürülenler

MethodCallExpression özelliğine CallNodeType eşit olan ve ve MethodObject özellikleri belirtilen değerlere ayarlanmış bir.

Özel durumlar

method null değeridir.

Örnekler

Aşağıdaki örnekte, bir bağımsız değişken alan (SharedVisual Basic'te) yöntemini çağıran bir static ifadenin nasıl oluşturulacağı gösterilmektedir.

// Add the following directive to your file:
// using System.Linq.Expressions;

public class SampleClass
{
    public static int Increment(int arg1)
    {
        return arg1 + 1;
    }
}

static public void TestCall()
{

    //This expression represents a call to an instance method with one argument.
    Expression callExpr = Expression.Call(
                            typeof(SampleClass).GetMethod("Increment"),
                            Expression.Constant(2)
                        );

    // Print out the expression.
    Console.WriteLine(callExpr.ToString());

    // The following statement first creates an expression tree,
    // then compiles it, and then executes it.
    Console.WriteLine(Expression.Lambda<Func<int>>(callExpr).Compile()());

    // This code example produces the following output:
    //
    // Increment(2)
    // 3
}
' Add the following directive to your file:
' Imports System.Linq.Expressions  

Public Class SampleClass
    Shared Function Increment(ByVal arg1 As Integer) As Integer
        Return arg1 + 1
    End Function
End Class
Shared Sub TestCall()
    'This expression represents a call to an instance method with one argument.
    Dim callExpr As Expression = Expression.Call(
        GetType(SampleClass).GetMethod("Increment"),
        Expression.Constant(2))

    ' Print the expression.
    Console.WriteLine(callExpr.ToString())

    ' The following statement first creates an expression tree,
    ' then compiles it, and then executes it.
    Console.WriteLine(Expression.Lambda(Of Func(Of Integer))(callExpr).Compile()())
End Sub

' This code example produces the following output:
'
' Increment(2)
' 3

Şunlara uygulanır

Call(MethodInfo, IEnumerable<Expression>)

Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs

MethodCallExpression Statik (Visual Basic'te Paylaşılan) yöntemine yapılan çağrıyı temsil eden bir oluşturur.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Reflection::MethodInfo ^ method, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments);
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments);
static member Call : System.Reflection.MethodInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (method As MethodInfo, arguments As IEnumerable(Of Expression)) As MethodCallExpression

Parametreler

method
MethodInfo

MethodInfo hedef yöntemini temsil eden.

arguments
IEnumerable<Expression>

Çağrı bağımsız değişkenlerini temsil eden bir koleksiyonu Expression .

Döndürülenler

MethodCallExpression özelliğine CallNodeType eşit olan ve ve MethodObject özellikleri belirtilen değerlere ayarlanmış bir.

Şunlara uygulanır

Call(Expression, MethodInfo)

Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs

MethodCallExpression Bağımsız değişken içermeyen bir yönteme yapılan çağrıyı temsil eden bir oluşturur.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Linq::Expressions::Expression ^ instance, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression instance, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression? instance, System.Reflection.MethodInfo method);
static member Call : System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (instance As Expression, method As MethodInfo) As MethodCallExpression

Parametreler

instance
Expression

Örnek Expression yöntemi çağrısının örneğini belirten bir (Visual Basic'te )Shared yöntemi için static geçirinnull.

method
MethodInfo

Özelliğinin Method değerine eşit olarak ayarlanması için AMethodInfo.

Döndürülenler

MethodCallExpression özelliğine CallNodeType eşit olan ve ve MethodObject özellikleri belirtilen değerlere ayarlanmış bir.

Özel durumlar

method, null değeridir.

-veya-

instancemethod ve null bir örnek yöntemini temsil eder.

instance. türü, tarafından methodtemsil edilen yöntemin bildirim türüne atanamaz.

Örnekler

Aşağıdaki kod örneği, bağımsız değişken olmadan bir yöntemi çağıran bir ifadenin nasıl oluşturulacağını gösterir.

// Add the following directive to your file:
// using System.Linq.Expressions;

// This expression represents a call to an instance method without arguments.
Expression callExpr = Expression.Call(
    Expression.Constant("sample string"), typeof(String).GetMethod("ToUpper", new Type[] { }));

// Print out the expression.
Console.WriteLine(callExpr.ToString());

// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(Expression.Lambda<Func<String>>(callExpr).Compile()());

// This code example produces the following output:
//
// "sample string".ToUpper
// SAMPLE STRING
' Add the following directive to your file:
' Imports System.Linq.Expressions   

' This expression represents a call to an instance method without arguments.
Dim callExpr As Expression = Expression.Call(
    Expression.Constant("sample string"), GetType(String).GetMethod("ToUpper", New Type() {}))

' Print the expression.
Console.WriteLine(callExpr.ToString())

' The following statement first creates an expression tree,
' then compiles it, and then executes it.  
Console.WriteLine(Expression.Lambda(Of Func(Of String))(callExpr).Compile()())

' This code example produces the following output:
'
' "sample string".ToUpper
' SAMPLE STRING

Açıklamalar

(Shared Visual Basic'te) yöntemine yapılan çağrıyı temsil etmek static için, bu yöntemi çağırdığınızda parametresi için instance geçirinnull.

Bir örnek yöntemini temsil ederse method , özelliğinin Typeinstance tarafından methodtemsil edilen yöntemin bildirim türüne atanabilmesi gerekir.

Sonuçta Arguments elde edilen MethodCallExpression özelliği boş. Type özelliği, ile methodtemsil edilen yöntemin dönüş türüne eşittir.

Şunlara uygulanır

Call(MethodInfo, Expression, Expression)

Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs
Kaynak:
MethodCallExpression.cs

MethodCallExpression İki bağımsız değişken alan statik bir yönteme yapılan çağrıyı temsil eden bir oluşturur.

public:
 static System::Linq::Expressions::MethodCallExpression ^ Call(System::Reflection::MethodInfo ^ method, System::Linq::Expressions::Expression ^ arg0, System::Linq::Expressions::Expression ^ arg1);
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, System.Linq.Expressions.Expression arg0, System.Linq.Expressions.Expression arg1);
static member Call : System.Reflection.MethodInfo * System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.MethodCallExpression
Public Shared Function Call (method As MethodInfo, arg0 As Expression, arg1 As Expression) As MethodCallExpression

Parametreler

method
MethodInfo

Özelliğinin Method değerine eşit olarak ayarlanması için AMethodInfo.

arg0
Expression

İlk Expression bağımsız değişkeni temsil eden.

arg1
Expression

İkinci Expression bağımsız değişkeni temsil eden.

Döndürülenler

MethodCallExpression özelliğine CallNodeType eşit olan ve ve MethodObject özellikleri belirtilen değerlere ayarlanmış bir.

Özel durumlar

method null değeridir.

Şunlara uygulanır