Expression.Call Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří MethodCallExpression.
Přetížení
| Name | Description |
|---|---|
| Call(MethodInfo, Expression, Expression, Expression, Expression, Expression) |
MethodCallExpression Vytvoří volání statické metody, která přebírá pět argumentů. |
| Call(Expression, MethodInfo, Expression, Expression, Expression) |
Vytvoří MethodCallExpression volání metody, která přebírá tři argumenty. |
| Call(Type, String, Type[], Expression[]) |
Vytvoří MethodCallExpression , který představuje volání |
| Call(MethodInfo, Expression, Expression, Expression) |
Vytvoří MethodCallExpression volání statické metody, která přebírá tři argumenty. |
| Call(Expression, String, Type[], Expression[]) |
MethodCallExpression Vytvoří, která představuje volání metody voláním příslušné metody továrny. |
| Call(Expression, MethodInfo, Expression, Expression) |
Vytvoří MethodCallExpression volání metody, která přebírá dva argumenty. |
| Call(MethodInfo, Expression, Expression, Expression, Expression) |
MethodCallExpression Vytvoří volání statické metody, která přebírá čtyři argumenty. |
| Call(Expression, MethodInfo, Expression[]) |
MethodCallExpression Vytvoří volání metody, která přebírá argumenty. |
| Call(Expression, MethodInfo, IEnumerable<Expression>) |
MethodCallExpression Vytvoří volání metody, která přebírá argumenty. |
| Call(MethodInfo, Expression[]) |
Vytvoří MethodCallExpression volání |
| Call(MethodInfo, Expression) |
MethodCallExpression Vytvoří, který představuje volání |
| Call(MethodInfo, IEnumerable<Expression>) |
Vytvoří MethodCallExpression volání statické metody (Shared v jazyce Visual Basic). |
| Call(Expression, MethodInfo) |
Vytvoří MethodCallExpression volání metody, která nepřijímá žádné argumenty. |
| Call(MethodInfo, Expression, Expression) |
MethodCallExpression Vytvoří volání statické metody, která přebírá dva argumenty. |
Call(MethodInfo, Expression, Expression, Expression, Expression, Expression)
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
MethodCallExpression Vytvoří volání statické metody, která přebírá pět argumentů.
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
Parametry
- method
- MethodInfo
A MethodInfo nastavit Method vlastnost rovná se.
- arg0
- Expression
Představuje Expression první argument.
- arg1
- Expression
Představuje Expression druhý argument.
- arg2
- Expression
Jedná se Expression o třetí argument.
- arg3
- Expression
Představuje Expression čtvrtý argument.
- arg4
- Expression
Jedná se Expression o pátý argument.
Návraty
AMethodCallExpression, který má vlastnost rovna CallNodeType a Object a Method vlastnosti nastaveny na zadané hodnoty.
Výjimky
method je null.
Platí pro
Call(Expression, MethodInfo, Expression, Expression, Expression)
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
Vytvoří MethodCallExpression volání metody, která přebírá tři argumenty.
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
Parametry
- instance
- Expression
Určuje Expression instanci volání instance. (předejte hodnotu null pro statickou metodu (Shared in Visual Basic).
- method
- MethodInfo
Představuje MethodInfo cílovou metodu.
- arg0
- Expression
Představuje Expression první argument.
- arg1
- Expression
Představuje Expression druhý argument.
- arg2
- Expression
Jedná se Expression o třetí argument.
Návraty
AMethodCallExpression, který má vlastnost rovna CallNodeType a Object a Method vlastnosti nastaveny na zadané hodnoty.
Platí pro
Call(Type, String, Type[], Expression[])
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
Vytvoří MethodCallExpression , který představuje volání static metody (Shared v jazyce Visual Basic) voláním příslušné metody továrny.
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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Calling a generic method requires dynamic code generation. This can be suppressed if the method is not generic.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Calling a generic method cannot be statically analyzed. It's not possible to guarantee the availability of requirements of the generic method. This can be suppressed if the method is not generic.")]
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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Calling a generic method cannot be statically analyzed. It's not possible to guarantee the availability of requirements of the generic method. This can be suppressed if the method is not generic.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Calling a generic method requires dynamic code generation. This can be suppressed if the method is not generic.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Calling a generic method cannot be statically analyzed. It's not possible to guarantee the availability of requirements of the generic method. This can be suppressed if the method is not generic.")>]
static member Call : Type * string * Type[] * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.MethodCallExpression
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Calling a generic method cannot be statically analyzed. It's not possible to guarantee the availability of requirements of the generic method. This can be suppressed if the method is not generic.")>]
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
Parametry
- type
- Type
Typ, který obsahuje zadanou static (Shared v jazyce Visual Basic) metoda.
- methodName
- String
Název metody.
- typeArguments
- Type[]
Pole Type objektů, které určují parametry typu obecné metody. Tento argument by měl mít hodnotu null, pokud methodName určuje ne generickou metodu.
- arguments
- Expression[]
Pole Expression objektů, které představují argumenty metody.
Návraty
AMethodCallExpression, který má vlastnost rovna CallNodeType , Method vlastnost nastavena naMethodInfo, která představuje zadaný static (Shared v jazyce Visual Basic) metoda a Arguments vlastnost nastavena na zadané argumenty.
- Atributy
Výjimky
type nebo methodName je null.
Žádná metoda, jejíž název je methodName, jehož parametry typu odpovídají typeArgumentsa jejichž typy parametrů arguments se shodují, se nacházejí v type základních typech.
nebo
Více než jedna metoda, jejíž název je methodName, jehož typ parametry odpovídá typeArguments, a jejichž typy parametrů arguments jsou nalezeny v type nebo jeho základních typech.
Poznámky
Vlastnost Type výsledného MethodCallExpression je rovna návratového typu metody, která je označena methodName. Vlastnost Object je null.
Platí pro
Call(MethodInfo, Expression, Expression, Expression)
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
Vytvoří MethodCallExpression volání statické metody, která přebírá tři argumenty.
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
Parametry
- method
- MethodInfo
A MethodInfo nastavit Method vlastnost rovná se.
- arg0
- Expression
Představuje Expression první argument.
- arg1
- Expression
Představuje Expression druhý argument.
- arg2
- Expression
Jedná se Expression o třetí argument.
Návraty
AMethodCallExpression, který má vlastnost rovna CallNodeType a Object a Method vlastnosti nastaveny na zadané hodnoty.
Výjimky
method je null.
Platí pro
Call(Expression, String, Type[], Expression[])
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
MethodCallExpression Vytvoří, která představuje volání metody voláním příslušné metody továrny.
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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Calling a generic method requires dynamic code generation. This can be suppressed if the method is not generic.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Calling a generic method requires dynamic code generation. This can be suppressed if the method is not generic.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
static member Call : System.Linq.Expressions.Expression * string * Type[] * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.MethodCallExpression
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
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
Parametry
- instance
- Expression
Jejíž ExpressionType hodnota vlastnosti bude prohledána konkrétní metodu.
- methodName
- String
Název metody.
- typeArguments
- Type[]
Pole Type objektů, které určují parametry typu obecné metody. Tento argument by měl mít hodnotu null, pokud methodName určuje ne generickou metodu.
- arguments
- Expression[]
Pole Expression objektů, které představují argumenty metody.
Návraty
AMethodCallExpression, který má vlastnost rovna CallNodeType , Object vlastnost rovna instance, Method nastavena naMethodInfo, který představuje zadanou instanci metoda a Arguments nastavena na zadané argumenty.
- Atributy
Výjimky
instance nebo methodName je null.
Žádná metoda, jejíž název je methodName, jehož parametry typu odpovídají typeArguments, a jejichž typy parametrů jsou arguments nalezeny v instance. Typ nebo jeho základní typy.
nebo
Více než jedna metoda, jejíž název je methodName, jehož typ parametry odpovídá typeArguments, a jejichž typy parametrů arguments jsou nalezeny v instance. Typ nebo jeho základní typy.
Poznámky
Vlastnost Type výsledného MethodCallExpression je rovna návratového typu metody, která je označena methodName.
Platí pro
Call(Expression, MethodInfo, Expression, Expression)
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
Vytvoří MethodCallExpression volání metody, která přebírá dva argumenty.
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
Parametry
- instance
- Expression
Určuje Expression instanci volání instance. (předejte hodnotu null pro statickou metodu (Shared in Visual Basic).
- method
- MethodInfo
Představuje MethodInfo cílovou metodu.
- arg0
- Expression
Představuje Expression první argument.
- arg1
- Expression
Představuje Expression druhý argument.
Návraty
AMethodCallExpression, který má vlastnost rovna CallNodeType a Object a Method vlastnosti nastaveny na zadané hodnoty.
Příklady
Následující příklad kódu ukazuje, jak vytvořit výraz, který volá metodu instance, která má dva argumenty.
// 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
Platí pro
Call(MethodInfo, Expression, Expression, Expression, Expression)
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
MethodCallExpression Vytvoří volání statické metody, která přebírá čtyři argumenty.
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
Parametry
- method
- MethodInfo
A MethodInfo nastavit Method vlastnost rovná se.
- arg0
- Expression
Představuje Expression první argument.
- arg1
- Expression
Představuje Expression druhý argument.
- arg2
- Expression
Jedná se Expression o třetí argument.
- arg3
- Expression
Představuje Expression čtvrtý argument.
Návraty
AMethodCallExpression, který má vlastnost rovna CallNodeType a Object a Method vlastnosti nastaveny na zadané hodnoty.
Výjimky
method je null.
Platí pro
Call(Expression, MethodInfo, Expression[])
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
MethodCallExpression Vytvoří volání metody, která přebírá argumenty.
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
Parametry
- instance
- Expression
Určuje Expression instanci volání metody instance (předat null pro metodu static (Shared v jazyce Visual Basic).
- method
- MethodInfo
A MethodInfo nastavit Method vlastnost rovná se.
- arguments
- Expression[]
Pole Expression objektů, které se mají použít k naplnění Arguments kolekce.
Návraty
AMethodCallExpression, který má vlastnost rovna CallNodeTypeObjecta , Methoda Arguments vlastnosti nastaveny na zadané hodnoty.
Výjimky
method je null.
nebo
instance
method představuje null metodu instance.
nebo
arguments není null a jeden nebo více jeho prvků je null.
instance. Typ nelze přiřadit deklarující typ metody reprezentované method.
nebo
Počet prvků v arguments se nerovná počtu parametrů pro metodu reprezentovanou metodou method.
nebo
Jeden nebo více prvků arguments není možné přiřadit k odpovídajícímu parametru pro metodu reprezentovanou method.
Poznámky
Chcete-li vyjádřit volání metody (Sharedv jazyce Visual Basic), předejte nullinstance parametr při volání této metody nebo místo toho voláníCall.static
Pokud method představuje metodu instance, Type vlastnost instance musí být přiřadit k deklarování typu metody reprezentované method.
Pokud arguments není null, musí mít stejný počet prvků jako počet parametrů pro metodu reprezentovanou method. Každý prvek arguments nesmí být null a musí být přiřazen k odpovídajícímu parametru method, případně po uvozování.
Poznámka:
Prvek bude citován pouze v případě, že odpovídající parametr metody je typu Expression. Uvozování znamená, že prvek je zabalený do Quote uzlu. Výsledný uzel je jehož UnaryExpressionOperand vlastnost je prvek arguments.
Vlastnost Arguments výsledné MethodCallExpression hodnoty je prázdná, pokud arguments je null. V opačném případě obsahuje stejné prvky jako argumentsněkteré z nich mohou být citovány.
Vlastnost Type výsledné MethodCallExpression je rovna návratového typu metody reprezentované method.
Platí pro
Call(Expression, MethodInfo, IEnumerable<Expression>)
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
MethodCallExpression Vytvoří volání metody, která přebírá argumenty.
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
Parametry
- instance
- Expression
Object Nastavení Expression vlastnosti rovno (předání null pro metodu static (Sharedv jazyce Visual Basic)
- method
- MethodInfo
A MethodInfo nastavit Method vlastnost rovná se.
- arguments
- IEnumerable<Expression>
Objekt IEnumerable<T> obsahující Expression objekty, které se mají použít k naplnění Arguments kolekce.
Návraty
AMethodCallExpression, který má vlastnost rovna CallNodeTypeObjecta , Methoda Arguments vlastnosti nastaveny na zadané hodnoty.
Výjimky
instance. Typ nelze přiřadit deklarující typ metody reprezentované method.
nebo
Počet prvků v arguments se nerovná počtu parametrů pro metodu reprezentovanou metodou method.
nebo
Jeden nebo více prvků arguments není možné přiřadit k odpovídajícímu parametru pro metodu reprezentovanou method.
Poznámky
Chcete-li vyjádřit volání metody (Sharedv jazyce Visual Basic), předejte nullinstance parametr při volání této metody nebo místo toho voláníCall.static
Pokud method představuje metodu instance, Type vlastnost instance musí být přiřadit k deklarování typu metody reprezentované method.
Pokud arguments není null, musí mít stejný počet prvků jako počet parametrů pro metodu reprezentovanou method. Každý prvek arguments nesmí být null a musí být přiřazen k odpovídajícímu parametru method, případně po uvozování.
Poznámka:
Prvek bude citován pouze v případě, že odpovídající parametr metody je typu Expression. Uvozování znamená, že prvek je zabalený do Quote uzlu. Výsledný uzel je jehož UnaryExpressionOperand vlastnost je prvek arguments.
Vlastnost Arguments výsledné MethodCallExpression hodnoty je prázdná, pokud arguments je null. V opačném případě obsahuje stejné prvky jako argumentsněkteré z nich mohou být citovány.
Vlastnost Type výsledné MethodCallExpression je rovna návratového typu metody reprezentované method.
Platí pro
Call(MethodInfo, Expression[])
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
Vytvoří MethodCallExpression volání static metody (Shared v jazyce Visual Basic), která obsahuje argumenty.
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
Parametry
- method
- MethodInfo
A MethodInfo , který představuje static (Shared v jazyce Visual Basic) metoda nastavit Method vlastnost rovna.
- arguments
- Expression[]
Pole Expression objektů, které se mají použít k naplnění Arguments kolekce.
Návraty
AMethodCallExpression, který má vlastnost rovna CallNodeType a Method a Arguments vlastnosti nastaveny na zadané hodnoty.
Výjimky
method je null.
Počet prvků v arguments se nerovná počtu parametrů pro metodu reprezentovanou metodou method.
nebo
Jeden nebo více prvků arguments není možné přiřadit k odpovídajícímu parametru pro metodu reprezentovanou method.
Poznámky
Pokud arguments není null, musí mít stejný počet prvků jako počet parametrů pro metodu reprezentovanou method. Každý prvek arguments nesmí být null a musí být přiřazen k odpovídajícímu parametru method, případně po uvozování.
Poznámka:
Prvek bude citován pouze v případě, že odpovídající parametr metody je typu Expression. Uvozování znamená, že prvek je zabalený do Quote uzlu. Výsledný uzel je jehož UnaryExpressionOperand vlastnost je prvek arguments.
Vlastnost Arguments výsledné MethodCallExpression hodnoty je prázdná, pokud arguments je null. V opačném případě obsahuje stejné prvky jako argumentsněkteré z nich mohou být citovány.
Vlastnost Type výsledné MethodCallExpression je rovna návratového typu metody reprezentované method. Vlastnost Object je null.
Platí pro
Call(MethodInfo, Expression)
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
MethodCallExpression Vytvoří, který představuje volání static metody (Sharedv jazyce Visual Basic), která přebírá jeden argument.
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
Parametry
- method
- MethodInfo
A MethodInfo nastavit Method vlastnost rovná se.
- arg0
- Expression
Představuje Expression první argument.
Návraty
AMethodCallExpression, který má vlastnost rovna CallNodeType a Object a Method vlastnosti nastaveny na zadané hodnoty.
Výjimky
method je null.
Příklady
Následující příklad ukazuje, jak vytvořit výraz, který volá metodu static (Shared v jazyce Visual Basic), která přebírá jeden argument.
// 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
Platí pro
Call(MethodInfo, IEnumerable<Expression>)
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
Vytvoří MethodCallExpression volání statické metody (Shared v jazyce Visual Basic).
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
Parametry
- method
- MethodInfo
Představuje MethodInfo cílovou metodu.
- arguments
- IEnumerable<Expression>
Kolekce Expression , která představuje argumenty volání.
Návraty
AMethodCallExpression, který má vlastnost rovna CallNodeType a Object a Method vlastnosti nastaveny na zadané hodnoty.
Platí pro
Call(Expression, MethodInfo)
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
Vytvoří MethodCallExpression volání metody, která nepřijímá žádné argumenty.
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
Parametry
- instance
- Expression
Určuje Expression instanci volání metody instance (předat null pro metodu static (Shared v jazyce Visual Basic).
- method
- MethodInfo
A MethodInfo nastavit Method vlastnost rovná se.
Návraty
AMethodCallExpression, který má vlastnost rovna CallNodeType a Object a Method vlastnosti nastaveny na zadané hodnoty.
Výjimky
instance. Typ nelze přiřadit deklarující typ metody reprezentované method.
Příklady
Následující příklad kódu ukazuje, jak vytvořit výraz, který volá metodu bez argumentů.
// 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
Poznámky
Chcete-li reprezentovat static volání metody (Sharedv jazyce Visual Basic), předejte instancenull parametr při volání této metody.
Pokud method představuje metodu instance, Type vlastnost instance musí být přiřadit k deklarování typu metody reprezentované method.
Vlastnost Arguments výsledné MethodCallExpression hodnoty je prázdná. Vlastnost Type je rovna návratového typu metody reprezentované method.
Platí pro
Call(MethodInfo, Expression, Expression)
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
- Zdroj:
- MethodCallExpression.cs
MethodCallExpression Vytvoří volání statické metody, která přebírá dva argumenty.
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
Parametry
- method
- MethodInfo
A MethodInfo nastavit Method vlastnost rovná se.
- arg0
- Expression
Představuje Expression první argument.
- arg1
- Expression
Představuje Expression druhý argument.
Návraty
AMethodCallExpression, který má vlastnost rovna CallNodeType a Object a Method vlastnosti nastaveny na zadané hodnoty.
Výjimky
method je null.