ElementInit ElementInit ElementInit ElementInit Class

定義

IEnumerable コレクションの単一要素の初期化子を表します。Represents an initializer for a single element of an IEnumerable collection.

public ref class ElementInit sealed : System::Linq::Expressions::IArgumentProvider
public sealed class ElementInit : System.Linq.Expressions.IArgumentProvider
type ElementInit = class
    interface IArgumentProvider
Public NotInheritable Class ElementInit
Implements IArgumentProvider
継承
ElementInitElementInitElementInitElementInit
実装

次の例ではElementInit 、ディクショナリコレクションの要素の初期化を表すを作成します。The following example creates an ElementInit that represents the initialization of an element of a dictionary collection.

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 AddMethod AddMethod AddMethod

IEnumerable コレクションへの要素の追加に使用されるインスタンス メソッドを取得します。Gets the instance method that is used to add an element to an IEnumerable collection.

Arguments Arguments Arguments Arguments

IEnumerable コレクションに要素を追加するメソッドに渡される引数のコレクションを取得します。Gets the collection of arguments that are passed to a method that adds an element to an IEnumerable collection.

メソッド

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

ElementInit オブジェクトのテキスト表現を返します。Returns a textual representation of an ElementInit object.

Update(IEnumerable<Expression>) Update(IEnumerable<Expression>) Update(IEnumerable<Expression>) Update(IEnumerable<Expression>)

この式に似た新しい式を作成しますが、指定された子を使用します。Creates a new expression that is like this one, but using the supplied children. すべての子が同じであれば、この式が返されます。If all of the children are the same, it will return this expression.

明示的なインターフェイスの実装

IArgumentProvider.ArgumentCount IArgumentProvider.ArgumentCount IArgumentProvider.ArgumentCount IArgumentProvider.ArgumentCount

式ツリー ノードに引数の数を返します。Returns the number of arguments to the expression tree node. このメンバーを使用しないでください。You should not use this member. これは、アセンブリ リファクタリングのためパブリックのみで、パフォーマンスの最適化のために内部で使用されます。It is only public due to assembly refactoring, and it is used internally for performance optimizations.

IArgumentProvider.GetArgument(Int32) IArgumentProvider.GetArgument(Int32) IArgumentProvider.GetArgument(Int32) IArgumentProvider.GetArgument(Int32)

インデックスの引数を返し、インデックスが範囲外にある場合にスローします。Returns the argument at index, throwing if index is out of bounds. このメンバーを使用しないでください。You should not use this member. これは、アセンブリ リファクタリングのためパブリックのみで、パフォーマンスの最適化のために内部で使用されます。It is only public due to assembly refactoring, and it is used internally for performance optimizations.

適用対象