ElementInit 類別

定義

代表集合中 IEnumerable 單一元素的初始化器。

public ref class ElementInit sealed : System::Linq::Expressions::IArgumentProvider
public ref class ElementInit sealed
public sealed class ElementInit : System.Linq.Expressions.IArgumentProvider
public sealed class ElementInit
type ElementInit = class
    interface IArgumentProvider
type ElementInit = class
Public NotInheritable Class ElementInit
Implements IArgumentProvider
Public NotInheritable Class ElementInit
繼承
ElementInit
實作

範例

以下範例建立 , 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")

屬性

名稱 Description
AddMethod

取得用來將元素加入集合的 IEnumerable 實例方法。

Arguments

取得一組參數,這些參數會傳遞給一個方法,該方法會向 IEnumerable 集合中加入元素。

方法

名稱 Description
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetType()

取得目前實例的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
ToString()

回傳物件的 ElementInit 文字表示。

Update(IEnumerable<Expression>)

會建立一個新的表達式,類似這個,但使用提供的子節點。 如果所有子節點相同,則會回傳這個表達式。

明確介面實作

名稱 Description
IArgumentProvider.ArgumentCount

回傳給表達式樹節點的參數數量。 你不應該使用這個會員。 它之所以公開,是因為組合語言重構,並且用於內部效能優化。

IArgumentProvider.GetArgument(Int32)

回傳 在 索引 的參數,若索引超出範圍則拋棄。 你不應該使用這個會員。 它之所以公開,是因為組合語言重構,並且用於內部效能優化。

適用於