Expression.Call 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
MethodCallExpression 항목을 만듭니다.
오버로드
Call(MethodInfo, Expression, Expression, Expression, Expression, Expression)
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
MethodCallExpression 5개의 인수를 사용하는 정적 메서드에 대한 호출을 나타내는 메서드를 만듭니다.
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
매개 변수
- method
- MethodInfo
MethodInfo 속성을 같게 Method 설정하는 A입니다.
- arg0
- Expression
Expression 첫 번째 인수를 나타내는 값입니다.
- arg1
- Expression
Expression 두 번째 인수를 나타내는 값입니다.
- arg2
- Expression
Expression 세 번째 인수를 나타내는 값입니다.
- arg3
- Expression
Expression 네 번째 인수를 나타내는 값입니다.
- arg4
- Expression
Expression 다섯 번째 인수를 나타내는 값입니다.
반품
MethodCallExpression 속성이 NodeType 같 Call 고 Object 지정된 값으로 설정된 속성과 Method 속성이 있는 A입니다.
예외
method가 null입니다.
적용 대상
Call(Expression, MethodInfo, Expression, Expression, Expression)
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
세 개의 MethodCallExpression 인수를 사용하는 메서드에 대한 호출을 나타내는 메서드를 만듭니다.
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
매개 변수
- instance
- Expression
Expression 인스턴스 호출의 인스턴스를 지정하는 형식입니다. (정적(Visual Basic에서 공유) 메서드에 대해 null을 전달합니다.
- method
- MethodInfo
MethodInfo 대상 메서드를 나타내는 값입니다.
- arg0
- Expression
Expression 첫 번째 인수를 나타내는 값입니다.
- arg1
- Expression
Expression 두 번째 인수를 나타내는 값입니다.
- arg2
- Expression
Expression 세 번째 인수를 나타내는 값입니다.
반품
MethodCallExpression 속성이 NodeType 같 Call 고 Object 지정된 값으로 설정된 속성과 Method 속성이 있는 A입니다.
적용 대상
Call(Type, String, Type[], Expression[])
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
MethodCallExpression 적절한 팩터리 메서드를 호출하여 static (SharedVisual Basic에서) 메서드에 대한 호출을 나타내는 메서드를 만듭니다.
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
매개 변수
- type
- Type
지정된 static (Shared Visual Basic에서) 메서드를 포함하는 형식입니다.
- methodName
- String
메서드의 이름입니다.
- typeArguments
- Type[]
제네릭 메서드의 Type 형식 매개 변수를 지정하는 개체의 배열입니다. methodName이 제네릭이 아닌 메서드를 지정하는 경우 이 인수는 null이어야 합니다.
- arguments
- Expression[]
메서드에 대한 Expression 인수를 나타내는 개체의 배열입니다.
반품
MethodCallExpression 속성이 같은 CallMethod A, NodeType 지정된 static (SharedVisual Basic에서) 메서드를 나타내는 속성으로 설정된 MethodInfo 속성 및 Arguments 지정된 인수로 설정된 속성입니다.
- 특성
예외
type 또는 methodName .입니다 null.
이름이고 형식 매개 변수가 methodName일치 typeArguments하며 매개 변수 형식이 일치하는 arguments 메서드가 없거나 해당 기본 형식에 type 있는 메서드가 없습니다.
-또는-
이름이고, 형식 매개 변수가 methodName일치 typeArguments하고, 매개 변수 형식이 일치하는 arguments 메서드가 두 개 이상 있거나 해당 기본 형식에 type 있습니다.
설명
결과 MethodCallExpression 속성은 Type 로 표시된 메서드의 반환 형식과 methodName같습니다.
Object 속성은 null입니다.
적용 대상
Call(MethodInfo, Expression, Expression, Expression)
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
세 개의 MethodCallExpression 인수를 사용하는 정적 메서드에 대한 호출을 나타내는 메서드를 만듭니다.
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
매개 변수
- method
- MethodInfo
MethodInfo 속성을 같게 Method 설정하는 A입니다.
- arg0
- Expression
Expression 첫 번째 인수를 나타내는 값입니다.
- arg1
- Expression
Expression 두 번째 인수를 나타내는 값입니다.
- arg2
- Expression
Expression 세 번째 인수를 나타내는 값입니다.
반품
MethodCallExpression 속성이 NodeType 같 Call 고 Object 지정된 값으로 설정된 속성과 Method 속성이 있는 A입니다.
예외
method가 null입니다.
적용 대상
Call(Expression, String, Type[], Expression[])
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
적절한 팩터리 MethodCallExpression 메서드를 호출하여 메서드 호출을 나타내는 메서드를 만듭니다.
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
매개 변수
- instance
- Expression
Expression 특정 메서드를 Type 검색할 속성 값입니다.
- methodName
- String
메서드의 이름입니다.
- typeArguments
- Type[]
제네릭 메서드의 Type 형식 매개 변수를 지정하는 개체의 배열입니다. methodName이 제네릭이 아닌 메서드를 지정하는 경우 이 인수는 null이어야 합니다.
- arguments
- Expression[]
메서드에 Expression 대한 인수를 나타내는 개체의 배열입니다.
반품
MethodCallExpression 속성이 같Call고 NodeType 속성 Object 이 지정된 Methodinstance인스턴스 메서드를 나타내는 속성으로 MethodInfo 설정되고 Arguments 지정된 인수로 설정된 A입니다.
- 특성
예외
instance 또는 methodName .입니다 null.
이름이고 형식 매개 변수가 methodName일치하며 매개 변수 형식이 일치하는 typeArgumentsarguments 메서드가 instance없습니다. 형식 또는 해당 기본 형식입니다.
-또는-
이름이고 형식 매개 변수가 methodName일치하며 매개 변수 형식이 일치하는 typeArgumentsarguments 메서드가 두 개 이상 있습니다instance. 형식 또는 해당 기본 형식입니다.
설명
결과 MethodCallExpression 속성은 Type 로 표시된 메서드의 반환 형식과 methodName같습니다.
적용 대상
Call(Expression, MethodInfo, Expression, Expression)
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
두 인수를 MethodCallExpression 사용하는 메서드에 대한 호출을 나타내는 메서드를 만듭니다.
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
매개 변수
- instance
- Expression
Expression 인스턴스 호출의 인스턴스를 지정하는 형식입니다. (정적(Visual Basic에서 공유) 메서드에 대해 null을 전달합니다.
- method
- MethodInfo
MethodInfo 대상 메서드를 나타내는 값입니다.
- arg0
- Expression
Expression 첫 번째 인수를 나타내는 값입니다.
- arg1
- Expression
Expression 두 번째 인수를 나타내는 값입니다.
반품
MethodCallExpression 속성이 NodeType 같 Call 고 Object 지정된 값으로 설정된 속성과 Method 속성이 있는 A입니다.
예제
다음 코드 예제에서는 두 인수가 있는 인스턴스 메서드를 호출하는 식을 만드는 방법을 보여 줍니다.
// 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
적용 대상
Call(MethodInfo, Expression, Expression, Expression, Expression)
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
MethodCallExpression 4개의 인수를 사용하는 정적 메서드에 대한 호출을 나타내는 함수를 만듭니다.
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
매개 변수
- method
- MethodInfo
MethodInfo 속성을 같게 Method 설정하는 A입니다.
- arg0
- Expression
Expression 첫 번째 인수를 나타내는 값입니다.
- arg1
- Expression
Expression 두 번째 인수를 나타내는 값입니다.
- arg2
- Expression
Expression 세 번째 인수를 나타내는 값입니다.
- arg3
- Expression
Expression 네 번째 인수를 나타내는 값입니다.
반품
MethodCallExpression 속성이 NodeType 같 Call 고 Object 지정된 값으로 설정된 속성과 Method 속성이 있는 A입니다.
예외
method가 null입니다.
적용 대상
Call(Expression, MethodInfo, Expression[])
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
인수를 MethodCallExpression 사용하는 메서드에 대한 호출을 나타내는 메서드를 만듭니다.
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
매개 변수
- instance
- Expression
Expression 인스턴스 메서드 호출((Visual Basic의 경우) 메서드에 대한 전달null)에 대한 인스턴스를 staticShared 지정하는 값입니다.
- method
- MethodInfo
MethodInfo 속성을 같게 Method 설정하는 A입니다.
- arguments
- Expression[]
컬렉션을 채우는 데 사용할 개체의 배열 Expression 입니다 Arguments .
반품
MethodCallExpression 속성이 NodeType 같 Call 고 Object, MethodArguments 및 속성이 지정된 값으로 설정된 A입니다.
예외
method은 null입니다.
-또는-
instance
method 는 null 인스턴스 메서드를 나타냅니다.
-또는-
arguments 가 아니 null 고 해당 요소 중 하나 이상이 .입니다 null.
instance. 형식이 나타내는 method메서드의 선언 형식에 할당할 수 없습니다.
-또는-
요소 arguments 수가 나타내는 메서드 method의 매개 변수 수와 같지 않습니다.
-또는-
하나 이상의 요소를 arguments 나타내는 method메서드의 해당 매개 변수에 할당할 수 없습니다.
설명
(SharedVisual Basic에서) 메서드에 대한 호출을 static 나타내려면 이 메서드를 instance 호출할 때 매개 변수에 전달 null 하거나 대신 호출 Call 합니다.
인스턴스 메서드를 나타내는 경우 method 해당 속성을 나타내는 method메서드의 instance 선언 형식에 할당할 Type 수 있어야 합니다.
그렇지 않은 null경우 arguments 나타내는 메서드method의 매개 변수 수와 요소 수가 같아야 합니다. 각 요소는 arguments따옴표로 묶은 후의 해당 매개 변수method에 할당할 수 없어야 null 하며 할당할 수 있어야 합니다.
메모
해당 메서드 매개 변수가 형식 Expression인 경우에만 요소가 따옴표로 묶입니다. 따옴표는 요소가 노드에 래핑됨을 Quote 의미합니다. 결과 노드는 속성 Operand 이 UnaryExpression .의 arguments요소인 노드입니다.
결과 MethodCallExpression 속성은 Arguments 비어 있습니다(있는 경우 argumentsnull). 그렇지 않으면 동일한 요소가 arguments포함되며, 그 중 일부는 따옴표로 묶일 수 있습니다.
결과 MethodCallExpression 속성이 Type 나타내는 method메서드의 반환 형식과 같습니다.
적용 대상
Call(Expression, MethodInfo, IEnumerable<Expression>)
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
인수를 MethodCallExpression 사용하는 메서드에 대한 호출을 나타내는 메서드를 만듭니다.
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
매개 변수
- instance
- Expression
Expression 속성이 Object (Visual Basic의 경우Sharedstatic ) 메서드에 대해 전달 null 됨)과 같게 설정하는 것입니다.
- method
- MethodInfo
MethodInfo 속성을 같게 Method 설정하는 A입니다.
- arguments
- IEnumerable<Expression>
IEnumerable<T> 컬렉션을 채우는 데 사용할 개체가 들어 Expression 있는 개체입니다Arguments.
반품
MethodCallExpression 속성이 NodeType 같 Call 고 Object, MethodArguments 및 속성이 지정된 값으로 설정된 A입니다.
예외
instance. 형식이 나타내는 method메서드의 선언 형식에 할당할 수 없습니다.
-또는-
요소 arguments 수가 나타내는 메서드 method의 매개 변수 수와 같지 않습니다.
-또는-
하나 이상의 요소를 arguments 나타내는 method메서드의 해당 매개 변수에 할당할 수 없습니다.
설명
(SharedVisual Basic에서) 메서드에 대한 호출을 static 나타내려면 이 메서드를 instance 호출할 때 매개 변수에 전달 null 하거나 대신 호출 Call 합니다.
인스턴스 메서드를 나타내는 경우 method 해당 속성을 나타내는 method메서드의 instance 선언 형식에 할당할 Type 수 있어야 합니다.
그렇지 않은 null경우 arguments 나타내는 메서드method의 매개 변수 수와 요소 수가 같아야 합니다. 각 요소는 arguments따옴표로 묶은 후의 해당 매개 변수method에 할당할 수 없어야 null 하며 할당할 수 있어야 합니다.
메모
해당 메서드 매개 변수가 형식 Expression인 경우에만 요소가 따옴표로 묶입니다. 따옴표는 요소가 노드에 래핑됨을 Quote 의미합니다. 결과 노드는 속성 Operand 이 UnaryExpression .의 arguments요소인 노드입니다.
결과 MethodCallExpression 속성은 Arguments 비어 있습니다(있는 경우 argumentsnull). 그렇지 않으면 동일한 요소가 arguments포함되며, 그 중 일부는 따옴표로 묶일 수 있습니다.
결과 MethodCallExpression 속성이 Type 나타내는 method메서드의 반환 형식과 같습니다.
적용 대상
Call(MethodInfo, Expression[])
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
인수가 MethodCallExpression 있는 (SharedVisual Basic에서) 메서드에 대한 호출 static 을 나타내는 메서드를 만듭니다.
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
매개 변수
- method
- MethodInfo
MethodInfo 속성을 같게 설정하는 (staticSharedVisual Basic의 경우) 메서드를 Method 나타내는 A입니다.
- arguments
- Expression[]
컬렉션을 채우는 데 사용할 개체의 배열 Expression 입니다 Arguments .
반품
MethodCallExpression 속성이 NodeType 같 Call 고 Method 지정된 값으로 설정된 속성과 Arguments 속성이 있는 A입니다.
예외
method은 null입니다.
요소 arguments 수가 나타내는 메서드 method의 매개 변수 수와 같지 않습니다.
-또는-
하나 이상의 요소를 arguments 나타내는 method메서드의 해당 매개 변수에 할당할 수 없습니다.
설명
그렇지 않은 null경우 arguments 나타내는 메서드method의 매개 변수 수와 요소 수가 같아야 합니다. 각 요소는 arguments따옴표로 묶은 후의 해당 매개 변수method에 할당할 수 없어야 null 하며 할당할 수 있어야 합니다.
메모
해당 메서드 매개 변수가 형식 Expression인 경우에만 요소가 따옴표로 묶입니다. 따옴표는 요소가 노드에 래핑됨을 Quote 의미합니다. 결과 노드는 속성 Operand 이 UnaryExpression .의 arguments요소인 노드입니다.
결과 MethodCallExpression 속성은 Arguments 비어 있습니다(있는 경우 argumentsnull). 그렇지 않으면 동일한 요소가 arguments포함되며, 그 중 일부는 따옴표로 묶일 수 있습니다.
결과 MethodCallExpression 속성이 Type 나타내는 method메서드의 반환 형식과 같습니다.
Object 속성은 null입니다.
적용 대상
Call(MethodInfo, Expression)
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
MethodCallExpression 하나의 인수를 사용하는 (SharedVisual Basic에서) 메서드에 대한 호출 static 을 나타내는 메서드를 만듭니다.
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
매개 변수
- method
- MethodInfo
MethodInfo 속성을 같게 Method 설정하는 A입니다.
- arg0
- Expression
Expression 첫 번째 인수를 나타내는 값입니다.
반품
MethodCallExpression 속성이 NodeType 같 Call 고 Object 지정된 값으로 설정된 속성과 Method 속성이 있는 A입니다.
예외
method가 null입니다.
예제
다음 예제에서는 하나의 인수를 사용하는 (SharedVisual Basic에서) 메서드를 static 호출하는 식을 만드는 방법을 보여 줍니다.
// 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
적용 대상
Call(MethodInfo, IEnumerable<Expression>)
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
MethodCallExpression 정적(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
매개 변수
- method
- MethodInfo
MethodInfo 대상 메서드를 나타내는 값입니다.
- arguments
- IEnumerable<Expression>
호출 인수를 나타내는 컬렉션 Expression 입니다.
반품
MethodCallExpression 속성이 NodeType 같 Call 고 Object 지정된 값으로 설정된 속성과 Method 속성이 있는 A입니다.
적용 대상
Call(Expression, MethodInfo)
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
인수를 MethodCallExpression 사용하지 않는 메서드에 대한 호출을 나타내는 메서드를 만듭니다.
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
매개 변수
- instance
- Expression
Expression 인스턴스 메서드 호출((Visual Basic의 경우) 메서드에 대한 전달null)에 대한 인스턴스를 staticShared 지정하는 값입니다.
- method
- MethodInfo
MethodInfo 속성을 같게 Method 설정하는 A입니다.
반품
MethodCallExpression 속성이 NodeType 같 Call 고 Object 지정된 값으로 설정된 속성과 Method 속성이 있는 A입니다.
예외
instance. 형식이 나타내는 method메서드의 선언 형식에 할당할 수 없습니다.
예제
다음 코드 예제에서는 인수 없이 메서드를 호출하는 식을 만드는 방법을 보여줍니다.
// 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
설명
(SharedVisual Basic에서) 메서드에 대한 호출을 static 나타내려면 이 메서드를 호출할 때 매개 변수에 instance 대해 전달 null 합니다.
인스턴스 메서드를 나타내는 경우 method 해당 속성을 나타내는 method메서드의 instance 선언 형식에 할당할 Type 수 있어야 합니다.
Arguments 결과 MethodCallExpression 속성이 비어 있습니다. 속성이 Type 나타내는 method메서드의 반환 형식과 같습니다.
적용 대상
Call(MethodInfo, Expression, Expression)
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
- Source:
- MethodCallExpression.cs
두 인수를 MethodCallExpression 사용하는 정적 메서드에 대한 호출을 나타내는 메서드를 만듭니다.
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
매개 변수
- method
- MethodInfo
MethodInfo 속성을 같게 Method 설정하는 A입니다.
- arg0
- Expression
Expression 첫 번째 인수를 나타내는 값입니다.
- arg1
- Expression
Expression 두 번째 인수를 나타내는 값입니다.
반품
MethodCallExpression 속성이 NodeType 같 Call 고 Object 지정된 값으로 설정된 속성과 Method 속성이 있는 A입니다.
예외
method가 null입니다.