Expression.ElementInit 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
ElementInit를 만듭니다.
오버로드
ElementInit(MethodInfo, IEnumerable<Expression>) |
지정된 ElementInit을 두 번째 인수로 사용하여 IEnumerable<T>를 만듭니다. |
ElementInit(MethodInfo, Expression[]) |
지정된 값 배열을 두 번째 인수로 사용하여 ElementInit를 만듭니다. |
ElementInit(MethodInfo, IEnumerable<Expression>)
- Source:
- ElementInit.cs
- Source:
- ElementInit.cs
- Source:
- ElementInit.cs
지정된 ElementInit을 두 번째 인수로 사용하여 IEnumerable<T>를 만듭니다.
public:
static System::Linq::Expressions::ElementInit ^ ElementInit(System::Reflection::MethodInfo ^ addMethod, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.ElementInit ElementInit (System.Reflection.MethodInfo addMethod, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments);
static member ElementInit : System.Reflection.MethodInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.ElementInit
Public Shared Function ElementInit (addMethod As MethodInfo, arguments As IEnumerable(Of Expression)) As ElementInit
매개 변수
- addMethod
- MethodInfo
MethodInfo 속성에 설정할 AddMethod입니다.
- arguments
- IEnumerable<Expression>
IEnumerable<T> 속성에 설정할 Expression 개체가 포함된 Arguments입니다.
반환
ElementInit 및 AddMethod 속성이 지정된 값으로 설정된 Arguments입니다.
예외
addMethod
또는 arguments
가 null
인 경우
addMethod
를 나타내는 메서드 이름이 "Add"(대/소문자 구분 안 함)가 아닌 경우
또는
addMethod
를 나타내는 메서드가 인스턴스 메서드가 아닌 경우
또는
arguments
의 요소 수가 addMethod
로 나타내는 메서드의 매개 변수 수와 같지 않은 경우
또는
arguments
의 하나 이상의 요소에 대한 Type 속성을 addMethod
가 나타내는 메서드의 해당 매개 변수 형식에 적용할 수 없는 경우
예제
다음 예제에서는 사용 하는 ElementInit(MethodInfo, Expression[]) 방법을 보여 줍니다는 메서드를 호출 하는 를 나타내는 Add 를 만드는 ElementInit 사전 컬렉션의 요소를 초기화 하는 메서드입니다.
string tree = "maple";
System.Reflection.MethodInfo addMethod = typeof(Dictionary<int, string>).GetMethod("Add");
// Create an ElementInit that represents calling
// Dictionary<int, string>.Add(tree.Length, tree).
System.Linq.Expressions.ElementInit elementInit =
System.Linq.Expressions.Expression.ElementInit(
addMethod,
System.Linq.Expressions.Expression.Constant(tree.Length),
System.Linq.Expressions.Expression.Constant(tree));
Console.WriteLine(elementInit.ToString());
// This code produces the following output:
//
// Void Add(Int32, System.String)(5,"maple")
Dim tree As String = "maple"
Dim addMethod As System.Reflection.MethodInfo = _
Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]").GetMethod("Add")
' Create an ElementInit that represents calling
' Dictionary(Of Integer, String).Add(tree.Length, tree).
Dim elementInit As System.Linq.Expressions.ElementInit = _
System.Linq.Expressions.Expression.ElementInit( _
addMethod, _
System.Linq.Expressions.Expression.Constant(tree.Length), _
System.Linq.Expressions.Expression.Constant(tree))
Console.WriteLine(elementInit.ToString())
' This code produces the following output:
'
' Void Add(Int32, System.String)(5,"maple")
설명
매개 변수는 addMethod
"Add"(대/소문자를 구분하지 않음)라는 instance 메서드를 나타내야 합니다. add 메서드는 의 요소 arguments
수와 동일한 수의 매개 변수를 가져야 합니다. 의 각 요소의 속성을 따옴표로 묶은 후 add 메서드의 해당 매개 변수 형식에 할당할 수 있어야 합니다.arguments
Type
참고
요소는 해당 메서드 매개 변수가 형식 Expression인 경우에만 따옴표가 붙습니다. 따옴표는 요소가 노드에 래핑됨을 Quote 의미합니다. 결과 노드는 속성 Operand 이 UnaryExpression 의 arguments
요소인 입니다.
적용 대상
ElementInit(MethodInfo, Expression[])
- Source:
- ElementInit.cs
- Source:
- ElementInit.cs
- Source:
- ElementInit.cs
지정된 값 배열을 두 번째 인수로 사용하여 ElementInit를 만듭니다.
public:
static System::Linq::Expressions::ElementInit ^ ElementInit(System::Reflection::MethodInfo ^ addMethod, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.ElementInit ElementInit (System.Reflection.MethodInfo addMethod, params System.Linq.Expressions.Expression[] arguments);
static member ElementInit : System.Reflection.MethodInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.ElementInit
Public Shared Function ElementInit (addMethod As MethodInfo, ParamArray arguments As Expression()) As ElementInit
매개 변수
- addMethod
- MethodInfo
MethodInfo 속성에 설정할 AddMethod입니다.
- arguments
- Expression[]
Expression 속성에 설정할 Arguments 개체의 배열입니다.
반환
ElementInit 및 AddMethod 속성이 지정된 값으로 설정된 Arguments입니다.
예외
addMethod
또는 arguments
가 null
인 경우
addMethod가 나타내는 메서드의 이름이 "Add"(대/소문자 구분 안 함)가 아닌 경우
또는
addMethod가 나타내는 메서드가 인스턴스 메서드가 아닌 경우
또는
인수에 들어 있는 요소 수가 addMethod가 나타내는 메서드의 매개 변수 개수와 다른 경우
또는
arguments
의 하나 이상의 요소에 대한 Type 속성을 addMethod
가 나타내는 메서드의 해당 매개 변수 형식에 적용할 수 없는 경우
예제
다음 예제에서는 사용 하는 ElementInit(MethodInfo, Expression[]) 방법을 보여 줍니다는 메서드를 호출 하는 를 나타내는 Add 를 만드는 ElementInit 사전 컬렉션의 요소를 초기화 하는 메서드입니다.
string tree = "maple";
System.Reflection.MethodInfo addMethod = typeof(Dictionary<int, string>).GetMethod("Add");
// Create an ElementInit that represents calling
// Dictionary<int, string>.Add(tree.Length, tree).
System.Linq.Expressions.ElementInit elementInit =
System.Linq.Expressions.Expression.ElementInit(
addMethod,
System.Linq.Expressions.Expression.Constant(tree.Length),
System.Linq.Expressions.Expression.Constant(tree));
Console.WriteLine(elementInit.ToString());
// This code produces the following output:
//
// Void Add(Int32, System.String)(5,"maple")
Dim tree As String = "maple"
Dim addMethod As System.Reflection.MethodInfo = _
Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]").GetMethod("Add")
' Create an ElementInit that represents calling
' Dictionary(Of Integer, String).Add(tree.Length, tree).
Dim elementInit As System.Linq.Expressions.ElementInit = _
System.Linq.Expressions.Expression.ElementInit( _
addMethod, _
System.Linq.Expressions.Expression.Constant(tree.Length), _
System.Linq.Expressions.Expression.Constant(tree))
Console.WriteLine(elementInit.ToString())
' This code produces the following output:
'
' Void Add(Int32, System.String)(5,"maple")
설명
매개 변수는 addMethod
"Add"(대/소문자를 구분하지 않음)라는 instance 메서드를 나타내야 합니다. add 메서드는 의 요소 arguments
수와 동일한 수의 매개 변수를 가져야 합니다. 의 각 요소의 속성을 따옴표로 묶은 후 add 메서드의 해당 매개 변수 형식에 할당할 수 있어야 합니다.arguments
Type
참고
요소는 해당 메서드 매개 변수가 형식 Expression인 경우에만 따옴표가 붙습니다. 따옴표는 요소가 노드에 래핑됨을 Quote 의미합니다. 결과 노드는 속성 Operand 이 UnaryExpression 의 arguments
요소인 입니다.
적용 대상
.NET