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.

C#
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);

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

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
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);
C#
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);

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

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
public static System.Linq.Expressions.MethodCallExpression Call (Type type, string methodName, Type[] typeArguments, params System.Linq.Expressions.Expression[] arguments);
C#
public static System.Linq.Expressions.MethodCallExpression Call (Type type, string methodName, Type[]? typeArguments, params System.Linq.Expressions.Expression[]? arguments);

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

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
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);

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

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression instance, string methodName, Type[] typeArguments, params System.Linq.Expressions.Expression[] arguments);
C#
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression instance, string methodName, Type[]? typeArguments, params System.Linq.Expressions.Expression[]? arguments);

Parametreler

instance
Expression

Expression Type Ö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

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
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);
C#
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);

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.

C#
// 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
}

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
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);

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

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression instance, System.Reflection.MethodInfo method, params System.Linq.Expressions.Expression[] arguments);
C#
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression? instance, System.Reflection.MethodInfo method, params System.Linq.Expressions.Expression[]? arguments);

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-

instance method 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

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
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);
C#
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);

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-

instance method 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

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, params System.Linq.Expressions.Expression[] arguments);
C#
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, params System.Linq.Expressions.Expression[]? arguments);

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

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, System.Linq.Expressions.Expression arg0);

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.

C#
// 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
}

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments);
C#
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments);

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

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression instance, System.Reflection.MethodInfo method);
C#
public static System.Linq.Expressions.MethodCallExpression Call (System.Linq.Expressions.Expression? instance, System.Reflection.MethodInfo method);

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-

instance method 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.

C#
// 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

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

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
public static System.Linq.Expressions.MethodCallExpression Call (System.Reflection.MethodInfo method, System.Linq.Expressions.Expression arg0, System.Linq.Expressions.Expression arg1);

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

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0