Expression.ElementInit メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ElementInit を作成します。
オーバーロード
ElementInit(MethodInfo, IEnumerable<Expression>) |
2 番目の引数として ElementInit を指定して、IEnumerable<T> を作成します。 |
ElementInit(MethodInfo, Expression[]) |
2 番目の引数として値の配列を指定して、ElementInit を作成します。 |
ElementInit(MethodInfo, IEnumerable<Expression>)
- ソース:
- ElementInit.cs
- ソース:
- ElementInit.cs
- ソース:
- ElementInit.cs
2 番目の引数として 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
の 1 つ以上の要素の 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")
注釈
パラメーターは、"Add" という名前のインスタンス メソッドを表す必要があります (大文字と小文字は addMethod
区別されません)。 add メソッドは、 内の要素 arguments
の数と同じ数のパラメーターを持つ必要があります。 の各要素の プロパティはType、引用符でarguments
囲む後に、add メソッドの対応するパラメーターの型に割り当て可能である必要があります。
注意
要素は、対応するメソッド パラメーターが 型 Expressionの場合にのみ引用符で囲まれます。 引用符は、要素がノードに Quote ラップされていることを意味します。 結果のノードは、 UnaryExpression プロパティが Operand の arguments
要素である です。
適用対象
ElementInit(MethodInfo, Expression[])
- ソース:
- ElementInit.cs
- ソース:
- ElementInit.cs
- ソース:
- ElementInit.cs
2 番目の引数として値の配列を指定して、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 が表すメソッドが、インスタンス メソッドではありません。
- または -
arguments に、addMethod が表すメソッドのパラメーターの数と同じ数の要素が含まれていません。
- または -
arguments
の 1 つ以上の要素の 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")
注釈
パラメーターは、"Add" という名前のインスタンス メソッドを表す必要があります (大文字と小文字は addMethod
区別されません)。 add メソッドは、 内の要素 arguments
の数と同じ数のパラメーターを持つ必要があります。 の各要素の プロパティはType、引用符でarguments
囲む後に、add メソッドの対応するパラメーターの型に割り当て可能である必要があります。
注意
要素は、対応するメソッド パラメーターが 型 Expressionの場合にのみ引用符で囲まれます。 引用符は、要素がノードに Quote ラップされていることを意味します。 結果のノードは、 UnaryExpression プロパティが Operand の arguments
要素である です。
適用対象
.NET