Expression.Call Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy element MethodCallExpression.
Przeciążenia
Call(MethodInfo, Expression, Expression, Expression, Expression, Expression) |
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody statycznej, która przyjmuje pięć argumentów. |
Call(Expression, MethodInfo, Expression, Expression, Expression) |
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody, która przyjmuje trzy argumenty. |
Call(Type, String, Type[], Expression[]) |
Tworzy obiekt MethodCallExpression , który reprezentuje wywołanie |
Call(MethodInfo, Expression, Expression, Expression) |
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody statycznej, która przyjmuje trzy argumenty. |
Call(Expression, String, Type[], Expression[]) |
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody przez wywołanie odpowiedniej metody fabryki. |
Call(Expression, MethodInfo, Expression, Expression) |
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody, która przyjmuje dwa argumenty. |
Call(MethodInfo, Expression, Expression, Expression, Expression) |
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody statycznej, która przyjmuje cztery argumenty. |
Call(Expression, MethodInfo, Expression[]) |
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody, która przyjmuje argumenty. |
Call(Expression, MethodInfo, IEnumerable<Expression>) |
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody, która przyjmuje argumenty. |
Call(MethodInfo, Expression[]) |
Tworzy obiekt MethodCallExpression , który reprezentuje wywołanie |
Call(MethodInfo, Expression) |
Tworzy obiekt MethodCallExpression , który reprezentuje wywołanie |
Call(MethodInfo, IEnumerable<Expression>) |
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody statycznej (udostępnionej w visual basic). |
Call(Expression, MethodInfo) |
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody, która nie przyjmuje żadnych argumentów. |
Call(MethodInfo, Expression, Expression) |
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody statycznej, która przyjmuje dwa argumenty. |
Call(MethodInfo, Expression, Expression, Expression, Expression, Expression)
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody statycznej, która przyjmuje pięć argumentów.
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 , aby ustawić właściwość równą Method .
- arg0
- Expression
Wartość Expression reprezentująca pierwszy argument.
- arg1
- Expression
Wartość Expression reprezentująca drugi argument.
- arg2
- Expression
Wartość Expression reprezentująca trzeci argument.
- arg3
- Expression
Wartość Expression reprezentująca czwarty argument.
- arg4
- Expression
Wartość Expression reprezentująca piąty argument.
Zwraca
Właściwość MethodCallExpression , która ma właściwość równą CallNodeType i Object właściwości i Method ustawione na określone wartości.
Wyjątki
method
ma wartość null.
Dotyczy
Call(Expression, MethodInfo, Expression, Expression, Expression)
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody, która przyjmuje trzy 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
Element Expression określający wystąpienie wywołania wystąpienia. (przekaż wartość null dla metody statycznej (udostępnionej w Visual Basic).
- method
- MethodInfo
Element MethodInfo reprezentujący metodę docelową.
- arg0
- Expression
Wartość Expression reprezentująca pierwszy argument.
- arg1
- Expression
Wartość Expression reprezentująca drugi argument.
- arg2
- Expression
Wartość Expression reprezentująca trzeci argument.
Zwraca
Właściwość MethodCallExpression , która ma właściwość równą CallNodeType i Object właściwości i Method ustawione na określone wartości.
Dotyczy
Call(Type, String, Type[], Expression[])
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
Tworzy obiekt MethodCallExpression , który reprezentuje wywołanie static
metody (Shared
w języku Visual Basic), wywołując odpowiednią metodę fabryki.
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
Parametry
- type
- Type
Typ, który zawiera określoną static
metodę (Shared
w Visual Basic).
- methodName
- String
Nazwa metody.
- typeArguments
- Type[]
Tablica Type obiektów określających parametry typu metody ogólnej. Ten argument powinien mieć wartość null, gdy methodName określa metodę niegeneryjną.
- arguments
- Expression[]
Tablica Expression obiektów reprezentujących argumenty metody .
Zwraca
Właściwość MethodCallExpression , która ma NodeType właściwość równą Call, Method właściwość ustawiona na MethodInfo wartość , która reprezentuje określoną static
metodę (Shared
w Visual Basic) i Arguments właściwość ustawioną na określone argumenty.
Wyjątki
type
lub methodName
ma wartość null
.
Brak metody, której nazwa to methodName
, której parametry typu są zgodne typeArguments
z parametrami , i których typy parametrów są zgodne arguments
w type
typach podstawowych lub których typy parametrów.
-lub-
Więcej niż jedna metoda, której nazwa to methodName
, której parametry typu są zgodne typeArguments
, i których typy parametrów są zgodne arguments
w type
typach podstawowych lub ich typy podstawowe.
Uwagi
Właściwość Type wynikowej MethodCallExpression jest równa zwracanemu typowi metody oznaczonej przez methodName
. Właściwość Object to null
.
Dotyczy
Call(MethodInfo, Expression, Expression, Expression)
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody statycznej, która przyjmuje trzy 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 , aby ustawić właściwość równą Method .
- arg0
- Expression
Wartość Expression reprezentująca pierwszy argument.
- arg1
- Expression
Wartość Expression reprezentująca drugi argument.
- arg2
- Expression
Wartość Expression reprezentująca trzeci argument.
Zwraca
Właściwość MethodCallExpression , która ma właściwość równą CallNodeType i Object właściwości i Method ustawione na określone wartości.
Wyjątki
method
ma wartość null.
Dotyczy
Call(Expression, String, Type[], Expression[])
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody przez wywołanie odpowiedniej metody fabryki.
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
Parametry
- instance
- Expression
Obiekt Expression , którego Type wartość właściwości zostanie wyszukana w określonej metodzie.
- methodName
- String
Nazwa metody.
- typeArguments
- Type[]
Tablica Type obiektów określających parametry typu metody ogólnej. Ten argument powinien mieć wartość null, gdy methodName określa metodę niegeneryjną.
- arguments
- Expression[]
Tablica Expression obiektów, która reprezentuje argumenty metody .
Zwraca
ObiektMethodCallExpression, który ma właściwość równą NodeType , Object właściwość równa Callinstance
, Method ustawioną na MethodInfo wartość , która reprezentuje określoną metodę wystąpienia i Arguments ustawioną na określone argumenty.
Wyjątki
instance
lub methodName
ma wartość null
.
Brak metody, której nazwa to methodName
, której parametry typu są zgodne typeArguments
z parametrami , i których typy parametrów są zgodne arguments
w pliku instance
. Typ lub jego typy podstawowe.
-lub-
Więcej niż jedna metoda, której nazwa to methodName
, której parametry typu są zgodne typeArguments
z parametrami , i których typy parametrów są zgodne arguments
w pliku instance
. Typ lub jego typy podstawowe.
Uwagi
Właściwość Type wynikowej MethodCallExpression jest równa zwracanemu typowi metody oznaczonej przez methodName
.
Dotyczy
Call(Expression, MethodInfo, Expression, Expression)
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody, która przyjmuje dwa 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
Element Expression określający wystąpienie wywołania wystąpienia. (przekaż wartość null dla metody statycznej (udostępnionej w Visual Basic).
- method
- MethodInfo
Element MethodInfo reprezentujący metodę docelową.
- arg0
- Expression
Wartość Expression reprezentująca pierwszy argument.
- arg1
- Expression
Wartość Expression reprezentująca drugi argument.
Zwraca
Właściwość MethodCallExpression , która ma właściwość równą CallNodeType i Object właściwości i Method ustawione na określone wartości.
Przykłady
W poniższym przykładzie kodu pokazano, jak utworzyć wyrażenie, które wywołuje metodę wystąpienia, która ma dwa 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
Dotyczy
Call(MethodInfo, Expression, Expression, Expression, Expression)
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody statycznej, która przyjmuje cztery 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 , aby ustawić właściwość równą Method .
- arg0
- Expression
Wartość Expression reprezentująca pierwszy argument.
- arg1
- Expression
Wartość Expression reprezentująca drugi argument.
- arg2
- Expression
Wartość Expression reprezentująca trzeci argument.
- arg3
- Expression
Wartość Expression reprezentująca czwarty argument.
Zwraca
Właściwość MethodCallExpression , która ma właściwość równą CallNodeType i Object właściwości i Method ustawione na określone wartości.
Wyjątki
method
ma wartość null.
Dotyczy
Call(Expression, MethodInfo, Expression[])
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody, która przyjmuje 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
Element Expression określający wystąpienie wywołania metody wystąpienia (przekazać null
dla static
metody (Shared
w Visual Basic).
- method
- MethodInfo
A MethodInfo , aby ustawić właściwość równą Method .
- arguments
- Expression[]
Tablica Expression obiektów do użycia w celu wypełnienia kolekcji Arguments .
Zwraca
Właściwość MethodCallExpression , która ma właściwość równą CallNodeType i Object, Methodi właściwości Arguments ustawione na określone wartości.
Wyjątki
method
to null
.
-lub-
instance
method
element i null
reprezentuje metodę wystąpienia.
-lub-
arguments
nie null
jest i co najmniej jeden z jego elementów jest null
.
instance
. Typ nie jest przypisywany do deklarowanego typu metody reprezentowanej przez method
.
-lub-
Liczba elementów w arguments
elemecie nie jest równa liczbie parametrów metody reprezentowanej przez method
metodę .
-lub-
Co najmniej jeden element elementu arguments
nie można przypisać do odpowiedniego parametru dla metody reprezentowanej przez method
.
Uwagi
Aby reprezentować wywołanie metody (Shared
w Visual Basic), należy przekazać null
static
parametr instance
podczas wywoływania tej metody lub wywołać Call metodę .
Jeśli method
reprezentuje metodę wystąpienia, Type właściwość instance
musi być przypisywana do deklarowanego typu metody reprezentowanej przez method
.
Jeśli arguments
nie null
jest , musi mieć taką samą liczbę elementów, jak liczba parametrów dla metody reprezentowanej przez method
. Każdy element w arguments
pliku nie może być null
i musi być możliwy do przypisania do odpowiedniego parametru method
, prawdopodobnie po cudzysłów.
Uwaga
Element będzie cytowany tylko wtedy, gdy odpowiedni parametr metody jest typu Expression. Cudzysłów oznacza, że element jest owinięty w węźle Quote . Wynikowy UnaryExpression węzeł jest, którego Operand właściwość jest elementem arguments
.
Właściwość Arguments wynikowej MethodCallExpression jest pusta, jeśli arguments
ma wartość null
. W przeciwnym razie zawiera te same elementy co arguments
, z których niektóre mogą być cytowane.
Właściwość Type wynikowej MethodCallExpression jest równa typowi zwracanej metody reprezentowanej przez method
metodę .
Dotyczy
Call(Expression, MethodInfo, IEnumerable<Expression>)
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody, która przyjmuje 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
Element Expression , aby ustawić właściwość równą Objectstatic
(przekazać null
dla metody (Shared
w Visual Basic).
- method
- MethodInfo
A MethodInfo , aby ustawić właściwość równą Method .
- arguments
- IEnumerable<Expression>
Obiekt IEnumerable<T> zawierający Expression obiekty używane do wypełniania kolekcji Arguments .
Zwraca
Właściwość MethodCallExpression , która ma właściwość równą CallNodeType i Object, Methodi właściwości Arguments ustawione na określone wartości.
Wyjątki
method
to null
.
-lub-
instance
method
element i null
reprezentuje metodę wystąpienia.
instance
. Typ nie jest przypisywany do deklarowanego typu metody reprezentowanej przez method
.
-lub-
Liczba elementów w arguments
elemecie nie jest równa liczbie parametrów metody reprezentowanej przez method
metodę .
-lub-
Co najmniej jeden element elementu arguments
nie można przypisać do odpowiedniego parametru dla metody reprezentowanej przez method
.
Uwagi
Aby reprezentować wywołanie metody (Shared
w Visual Basic), należy przekazać null
static
parametr instance
podczas wywoływania tej metody lub wywołać Call metodę .
Jeśli method
reprezentuje metodę wystąpienia, Type właściwość instance
musi być przypisywana do deklarowanego typu metody reprezentowanej przez method
.
Jeśli arguments
nie null
jest , musi mieć taką samą liczbę elementów, jak liczba parametrów dla metody reprezentowanej przez method
. Każdy element w arguments
pliku nie może być null
i musi być możliwy do przypisania do odpowiedniego parametru method
, prawdopodobnie po cudzysłów.
Uwaga
Element będzie cytowany tylko wtedy, gdy odpowiedni parametr metody jest typu Expression. Cudzysłów oznacza, że element jest owinięty w węźle Quote . Wynikowy UnaryExpression węzeł jest, którego Operand właściwość jest elementem arguments
.
Właściwość Arguments wynikowej MethodCallExpression jest pusta, jeśli arguments
ma wartość null
. W przeciwnym razie zawiera te same elementy co arguments
, z których niektóre mogą być cytowane.
Właściwość Type wynikowej MethodCallExpression jest równa typowi zwracanej metody reprezentowanej przez method
metodę .
Dotyczy
Call(MethodInfo, Expression[])
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
Tworzy obiekt MethodCallExpression , który reprezentuje wywołanie static
metody (Shared
w Visual Basic), która ma 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
Obiekt MethodInfo reprezentujący metodę static
(Shared
w Języku Visual Basic) w celu ustawienia właściwości równej Method .
- arguments
- Expression[]
Tablica Expression obiektów do użycia w celu wypełnienia kolekcji Arguments .
Zwraca
Właściwość MethodCallExpression , która ma właściwość równą CallNodeType i Method właściwości i Arguments ustawione na określone wartości.
Wyjątki
method
to null
.
Liczba elementów w arguments
elemecie nie jest równa liczbie parametrów metody reprezentowanej przez method
metodę .
-lub-
Co najmniej jeden element elementu arguments
nie można przypisać do odpowiedniego parametru dla metody reprezentowanej przez method
.
Uwagi
Jeśli arguments
nie null
jest , musi mieć taką samą liczbę elementów, jak liczba parametrów dla metody reprezentowanej przez method
. Każdy element w arguments
pliku nie może być null
i musi być możliwy do przypisania do odpowiedniego parametru method
, prawdopodobnie po cudzysłów.
Uwaga
Element będzie cytowany tylko wtedy, gdy odpowiedni parametr metody jest typu Expression. Cudzysłów oznacza, że element jest owinięty w węźle Quote . Wynikowy UnaryExpression węzeł jest, którego Operand właściwość jest elementem arguments
.
Właściwość Arguments wynikowej MethodCallExpression jest pusta, jeśli arguments
ma wartość null
. W przeciwnym razie zawiera te same elementy co arguments
, z których niektóre mogą być cytowane.
Właściwość Type wynikowej MethodCallExpression jest równa typowi zwracanej metody reprezentowanej przez method
metodę . Właściwość Object to null
.
Dotyczy
Call(MethodInfo, Expression)
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
Tworzy obiekt MethodCallExpression , który reprezentuje wywołanie static
metody (Shared
w Visual Basic), która przyjmuje 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 , aby ustawić właściwość równą Method .
- arg0
- Expression
Wartość Expression reprezentująca pierwszy argument.
Zwraca
Właściwość MethodCallExpression , która ma właściwość równą CallNodeType i Object właściwości i Method ustawione na określone wartości.
Wyjątki
method
ma wartość null.
Przykłady
W poniższym przykładzie pokazano, jak utworzyć wyrażenie, które wywołuje metodę static
(Shared
w języku Visual Basic), która przyjmuje 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
Dotyczy
Call(MethodInfo, IEnumerable<Expression>)
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody statycznej (udostępnionej w 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
Element MethodInfo reprezentujący metodę docelową.
- arguments
- IEnumerable<Expression>
Kolekcja reprezentująca Expression argumenty wywołań.
Zwraca
Właściwość MethodCallExpression , która ma właściwość równą CallNodeType i Object właściwości i Method ustawione na określone wartości.
Dotyczy
Call(Expression, MethodInfo)
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody, która nie przyjmuje żadnych argumentów.
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
Element Expression określający wystąpienie wywołania metody wystąpienia (przekazać null
dla static
metody (Shared
w Visual Basic).
- method
- MethodInfo
A MethodInfo , aby ustawić właściwość równą Method .
Zwraca
Właściwość MethodCallExpression , która ma właściwość równą CallNodeType i Object właściwości i Method ustawione na określone wartości.
Wyjątki
method
to null
.
-lub-
instance
method
element i null
reprezentuje metodę wystąpienia.
instance
. Typ nie jest przypisywany do deklarowanego typu metody reprezentowanej przez method
.
Przykłady
Poniższy przykład kodu pokazuje, jak utworzyć wyrażenie, które wywołuje metodę bez argumentów.
// 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
Uwagi
Aby reprezentować wywołanie metody (Shared
w Visual Basic), należy przekazać static
null
parametr podczas instance
wywoływania tej metody.
Jeśli method
reprezentuje metodę wystąpienia, Type właściwość instance
musi być przypisywana do deklarowanego typu metody reprezentowanej przez method
.
Właściwość Arguments wynikowej MethodCallExpression jest pusta. Właściwość Type jest równa zwracanemu typowi metody reprezentowanej przez method
.
Dotyczy
Call(MethodInfo, Expression, Expression)
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
- Źródło:
- MethodCallExpression.cs
Tworzy obiekt MethodCallExpression reprezentujący wywołanie metody statycznej, która przyjmuje dwa 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 , aby ustawić właściwość równą Method .
- arg0
- Expression
Wartość Expression reprezentująca pierwszy argument.
- arg1
- Expression
Wartość Expression reprezentująca drugi argument.
Zwraca
Właściwość MethodCallExpression , która ma właściwość równą CallNodeType i Object właściwości i Method ustawione na określone wartości.
Wyjątki
method
ma wartość null.