ElementInit Класс

Определение

Представляет инициализатор отдельного элемента коллекции 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
Наследование
ElementInit
Реализации

Примеры

В следующем примере создается объект 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

Получает метод экземпляра, который используется для добавления элемента в коллекцию IEnumerable.Gets the instance method that is used to add an element to an IEnumerable collection.

Arguments

Получает коллекцию аргументов, передаваемых в метод, который добавляет элемент в коллекцию IEnumerable.Gets the collection of arguments that are passed to a method that adds an element to an IEnumerable collection.

Методы

Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ToString()

Возвращает текстовое представление объекта ElementInit.Returns a textual representation of an ElementInit object.

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

Возвращает число аргументов для узла дерева выражения.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)

Возвращает аргумент в индексе, создавая исключение, если индекс вне допустимых границ.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.

Применяется к