Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Expression.Call-Methode (MethodInfo, Expression)

.NET Framework (current version)
 

Erstellt eine MethodCallExpression, die einen Aufruf einer static-Methode (Shared in Visual Basic) mit einem Argument darstellt.

Namespace:   System.Linq.Expressions
Assembly:  System.Core (in System.Core.dll)

public static MethodCallExpression Call(
	MethodInfo method,
	Expression arg0
)

Parameter

method
Type: System.Reflection.MethodInfo

Ein MethodInfo, auf das die Method-Eigenschaft festgelegt werden soll.

arg0
Type: System.Linq.Expressions.Expression

Das Expression, das das erste Argument darstellt.

Rückgabewert

Type: System.Linq.Expressions.MethodCallExpression

Ein MethodCallExpression, bei dem die NodeType-Eigenschaft gleich Call ist und die Object-Eigenschaft sowie die Method-Eigenschaft auf die angegebenen Werte festgelegt sind.

Exception Condition
ArgumentNullException

method ist NULL.

Im folgenden Beispiel wird veranschaulicht, wie einen Ausdruck erstellt, der aufruft eine static (Shared in Visual Basic) Methode, die ein Argument akzeptiert.

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

Universal Windows Platform
Verfügbar seit 4.5
.NET Framework
Verfügbar seit 4.0
Portable Class Library
Unterstützt in: portable .NET platforms
Silverlight
Verfügbar seit 4.0
Windows Phone Silverlight
Verfügbar seit 8.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: