ExpandoObject ExpandoObject ExpandoObject ExpandoObject Class

Определение

Представляет объект, члены которого можно динамически добавлять и удалять во время выполнения.Represents an object whose members can be dynamically added and removed at run time.

public ref class ExpandoObject sealed : System::Collections::Generic::ICollection<System::Collections::Generic::KeyValuePair<System::String ^, System::Object ^>>, System::Collections::Generic::IDictionary<System::String ^, System::Object ^>, System::Collections::Generic::IEnumerable<System::Collections::Generic::KeyValuePair<System::String ^, System::Object ^>>, System::ComponentModel::INotifyPropertyChanged, System::Dynamic::IDynamicMetaObjectProvider
public sealed class ExpandoObject : System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<string,object>>, System.Collections.Generic.IDictionary<string,object>, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string,object>>, System.ComponentModel.INotifyPropertyChanged, System.Dynamic.IDynamicMetaObjectProvider
type ExpandoObject = class
    interface IDynamicMetaObjectProvider
    interface IDictionary<string, obj>
    interface INotifyPropertyChanged
    interface ICollection<KeyValuePair<string, obj>>
    interface seq<KeyValuePair<string, obj>>
    interface IEnumerable
Public NotInheritable Class ExpandoObject
Implements ICollection(Of KeyValuePair(Of String, Object)), IDictionary(Of String, Object), IDynamicMetaObjectProvider, IEnumerable(Of KeyValuePair(Of String, Object)), INotifyPropertyChanged
Наследование
ExpandoObjectExpandoObjectExpandoObjectExpandoObject
Реализации

Комментарии

ExpandoObject Класс позволяет добавлять и удалять члены своих экземпляров во время выполнения, а также задавать и получать значения этих элементов.The ExpandoObject class enables you to add and delete members of its instances at run time and also to set and get values of these members. Этот класс поддерживает динамическую привязку, что позволяет использовать стандартный синтаксис, sampleObject.sampleMember такой как, вместо более сложного синтаксиса, такого как. sampleObject.GetAttribute("sampleMember")This class supports dynamic binding, which enables you to use standard syntax like sampleObject.sampleMember instead of more complex syntax like sampleObject.GetAttribute("sampleMember").

Класс реализует стандартный интерфейс IDynamicMetaObjectProviderсреды выполнения динамического языка (DLR), который позволяет совместно использовать экземпляры ExpandoObject класса между языками, поддерживающими модель взаимодействия DLR. ExpandoObjectThe ExpandoObject class implements the standard Dynamic Language Runtime (DLR) interface IDynamicMetaObjectProvider, which enables you to share instances of the ExpandoObject class between languages that support the DLR interoperability model. Например, можно создать экземпляр ExpandoObject класса в C# и передать его в функцию IronPython.For example, you can create an instance of the ExpandoObject class in C# and then pass it to an IronPython function. Дополнительные сведения см. в разделе Общие сведения о среде динамического языка и Введение в C# веб-сайт с часто задаваемыми вопросами.For more information, see Dynamic Language Runtime Overview and Introducing the ExpandoObject on the C# Frequently Asked Questions Web site.

ExpandoObject Класс является реализацией концепции динамического объекта, обеспечивающей получение, задание и вызов членов.The ExpandoObject class is an implementation of the dynamic object concept that enables getting, setting, and invoking members. Если необходимо определить типы с собственной семантикой динамической диспетчеризации, используйте DynamicObject класс.If you want to define types that have their own dynamic dispatch semantics, use the DynamicObject class. Если вы хотите определить, как динамические объекты участвуют в протоколе взаимодействия, и управлять оперативным кэшем динамической диспетчеризации DLR, создайте собственную реализацию IDynamicMetaObjectProvider интерфейса.If you want to define how dynamic objects participate in the interoperability protocol and manage DLR fast dynamic dispatch caching, create your own implementation of the IDynamicMetaObjectProvider interface.

Создание экземпляраCreating an Instance

C#Чтобы включить позднее связывание для экземпляра ExpandoObject класса, необходимо использовать dynamic ключевое слово.In C#, to enable late binding for an instance of the ExpandoObject class, you must use the dynamic keyword. Дополнительные сведения см. в разделе Использование типа dynamic.For more information, see Using Type dynamic.

В Visual Basic динамические операции поддерживаются с помощью позднего связывания.In Visual Basic, dynamic operations are supported by late binding. Дополнительные сведения см. в разделе раннее и позднее связывание.For more information, see Early and Late Binding.

В следующем примере кода показано, как создать экземпляр ExpandoObject класса.The following code example demonstrates how to create an instance of the ExpandoObject class.

dynamic sampleObject = new ExpandoObject();
Dim sampleObject As Object = New ExpandoObject()

Добавление новых членовAdding New Members

В экземпляры ExpandoObject класса можно добавлять свойства, методы и события.You can add properties, methods, and events to instances of the ExpandoObject class.

В следующем примере кода показано, как добавить новое свойство в экземпляр ExpandoObject класса.The following code example demonstrates how to add a new property to an instance of the ExpandoObject class.

sampleObject.test = "Dynamic Property";
Console.WriteLine(sampleObject.test);
Console.WriteLine(sampleObject.test.GetType());
// This code example produces the following output:
// Dynamic Property
// System.String
sampleObject.Test = "Dynamic Property"
Console.WriteLine(sampleObject.test)
Console.WriteLine(sampleObject.test.GetType())
' This code example produces the following output:
' Dynamic Property
' System.String

Методы представляют лямбда-выражения, которые хранятся в виде делегатов, которые могут вызываться при необходимости.The methods represent lambda expressions that are stored as delegates, which can be invoked when they are needed. В следующем примере кода показано, как добавить метод, увеличивающий значение динамического свойства.The following code example demonstrates how to add a method that increments a value of the dynamic property.

sampleObject.number = 10;
sampleObject.Increment = (Action)(() => { sampleObject.number++; });

// Before calling the Increment method.
Console.WriteLine(sampleObject.number);

sampleObject.Increment();

// After calling the Increment method.
Console.WriteLine(sampleObject.number);
// This code example produces the following output:
// 10
// 11
sampleObject.Number = 10
sampleObject.Increment = Function() sampleObject.Number + 1
' Before calling the Increment method.
Console.WriteLine(sampleObject.number)

sampleObject.Increment.Invoke()

' After calling the Increment method.
Console.WriteLine(sampleObject.number)
' This code example produces the following output:
' 10
' 11

В следующем примере кода показано, как добавить событие в экземпляр ExpandoObject класса.The following code example demonstrates how to add an event to an instance of the ExpandoObject class.

class Program  
{  
    static void Main(string[] args)  
    {  
        dynamic sampleObject = new ExpandoObject();  
  
        // Create a new event and initialize it with null.  
        sampleObject.sampleEvent = null;  
  
        // Add an event handler.  
        sampleObject.sampleEvent += new EventHandler(SampleHandler);  
  
        // Raise an event for testing purposes.  
        sampleObject.sampleEvent(sampleObject, new EventArgs());  
   }  
  
    // Event handler.  
    static void SampleHandler(object sender, EventArgs e)  
    {  
        Console.WriteLine("SampleHandler for {0} event", sender);  
    }  
}  
// This code example produces the following output:  
// SampleHandler for System.Dynamic.ExpandoObject event.  
Module Module1  
  
Sub Main()  
    Dim sampleObject As Object = New ExpandoObject()  
  
    ' Create a new event and initialize it with null.  
    sampleObject.sampleEvent = Nothing  
  
    ' Add an event handler.  
    Dim handler As EventHandler = AddressOf SampleHandler  
    sampleObject.sampleEvent =   
        [Delegate].Combine(sampleObject.sampleEvent, handler)  
  
    ' Raise an event for testing purposes.  
    sampleObject.sampleEvent.Invoke(sampleObject, New EventArgs())  
  
End Sub  
  
' Event handler.  
Sub SampleHandler(ByVal sender As Object, ByVal e As EventArgs)  
    Console.WriteLine("SampleHandler for {0} event", sender)  
End Sub  
  
' This code example produces the following output:  
' SampleHandler for System.Dynamic.ExpandoObject event.  
  
End Module  

Передача в качестве параметраPassing As a Parameter

Экземпляры ExpandoObject класса можно передавать в качестве параметров.You can pass instances of the ExpandoObject class as parameters. Обратите внимание, что эти экземпляры рассматриваются как динамические C# объекты в и объекты с поздним связыванием в Visual Basic.Note that these instances are treated as dynamic objects in C# and late-bound objects in Visual Basic. Это означает, что у вас нет IntelliSense для членов объекта и при вызове несуществующих членов не будут выдаваться ошибки компилятора.This means that you do not have IntelliSense for object members and you do not receive compiler errors when you call non-existent members. При вызове несуществующего члена возникает исключение.If you call a member that does not exist, an exception occurs.

В следующем примере кода показано, как можно создать и использовать метод для печати имен и значений свойств.The following code example demonstrates how you can create and use a method to print the names and values of properties.

class Program
{
    static void Main(string[] args)
    {
        dynamic employee, manager;

        employee = new ExpandoObject();
        employee.Name = "John Smith";
        employee.Age = 33;

        manager = new ExpandoObject();
        manager.Name = "Allison Brown";
        manager.Age = 42;
        manager.TeamSize = 10;

        WritePerson(manager);
        WritePerson(employee);
    }
    private static void WritePerson(dynamic person)
    {
        Console.WriteLine("{0} is {1} years old.",
                          person.Name, person.Age);
        // The following statement causes an exception
        // if you pass the employee object.
        // Console.WriteLine("Manages {0} people", person.TeamSize);
    }
}
// This code example produces the following output:
// John Smith is 33 years old.
// Allison Brown is 42 years old.
Sub Main()
    Dim employee, manager As Object

    employee = New ExpandoObject()
    employee.Name = "John Smith"
    employee.Age = 33

    manager = New ExpandoObject()
    manager.Name = "Allison Brown"
    manager.Age = 42
    manager.TeamSize = 10

    WritePerson(manager)
    WritePerson(employee)
End Sub

Private Sub WritePerson(ByVal person As Object)

    Console.WriteLine("{0} is {1} years old.",
                      person.Name, person.Age)
    ' The following statement causes an exception
    ' if you pass the employee object.
    ' Console.WriteLine("Manages {0} people", person.TeamSize)

End Sub

Перечисление и удаление элементовEnumerating and Deleting Members

Класс ExpandoObject реализует интерфейс IDictionary<String, Object>.The ExpandoObject class implements the IDictionary<String, Object> interface. Это позволяет перечислить члены, добавленные в экземпляр ExpandoObject класса во время выполнения.This enables enumeration of members added to the instance of the ExpandoObject class at run time. Это может быть полезно, если во время компиляции неизвестно, какие члены могут иметь экземпляр.This can be useful if you do not know at compile time what members an instance might have.

В следующем примере кода показано, как можно привести экземпляр ExpandoObject класса IDictionary<TKey,TValue> к интерфейсу и перечислить члены экземпляра.The following code example shows how you can cast an instance of the ExpandoObject class to the IDictionary<TKey,TValue> interface and enumerate the instance's members.

dynamic employee = new ExpandoObject();
employee.Name = "John Smith";
employee.Age = 33;

foreach (var property in (IDictionary<String, Object>)employee)
{
    Console.WriteLine(property.Key + ": " + property.Value);
}
// This code example produces the following output:
// Name: John Smith
// Age: 33
Dim employee As Object = New ExpandoObject()
employee.Name = "John Smith"
employee.Age = 33
For Each member In CType(employee, IDictionary(Of String, Object))
    Console.WriteLine(member.Key & ": " & member.Value)
Next
' This code example produces the following output:
' Name: John Smith
' Age: 33

В языках, не имеющих синтаксиса для удаления элементов (например, C# и Visual Basic), можно удалить член путем неявного приведения экземпляра компонента ExpandoObject к IDictionary<String, Object> интерфейсу, а затем удалить член как пару "ключ-значение".In languages that do not have syntax for deleting members (such as C# and Visual Basic), you can delete a member by implicitly casting an instance of the ExpandoObject to the IDictionary<String, Object> interface and then deleting the member as a key/value pair. Эти действия показаны в следующем примере.This is shown in the following example.

dynamic employee = new ExpandoObject();
employee.Name = "John Smith";
((IDictionary<String, Object>)employee).Remove("Name");
Dim employee As Object = New ExpandoObject()
employee.Name = "John Smith"
CType(employee, IDictionary(Of String, Object)).Remove("Name")

Получение уведомлений об изменениях свойствReceiving Notifications of Property Changes

ExpandoObject Класс реализуетPropertyChanged интерфейс и может вызывать событие при добавлении, удалении или изменении элемента. INotifyPropertyChangedThe ExpandoObject class implements the INotifyPropertyChanged interface and can raise a PropertyChanged event when a member is added, deleted, or modified. Это обеспечивает ExpandoObject интеграцию классов с привязкой данных Windows Presentation Foundation (WPF) и другими средами, требующими уведомления об изменениях содержимого объекта.This enables ExpandoObject class integration with Windows Presentation Foundation (WPF) data binding and other environments that require notification about changes in the object content.

В следующем примере кода показано, как создать обработчик событий для PropertyChanged события.The following code example demonstrates how to create an event handler for the PropertyChanged event.

// Add "using System.ComponentModel;" line 
// to the beginning of the file.
class Program
{
    static void Test()
    {
        dynamic employee = new ExpandoObject();
        ((INotifyPropertyChanged)employee).PropertyChanged +=
            new PropertyChangedEventHandler(HandlePropertyChanges);
        employee.Name = "John Smith";
    }

    private static void HandlePropertyChanges(
        object sender, PropertyChangedEventArgs e)
    {
        Console.WriteLine("{0} has changed.", e.PropertyName);
    }
}
' Add "Imports System.ComponentModel" line 
' to the beginning of the file.
Sub Main()
    Dim employee As Object = New ExpandoObject
    AddHandler CType(
        employee, INotifyPropertyChanged).PropertyChanged,
        AddressOf HandlePropertyChanges
    employee.Name = "John Smith"
End Sub

Private Sub HandlePropertyChanges(
       ByVal sender As Object, ByVal e As PropertyChangedEventArgs)
    Console.WriteLine("{0} has changed.", e.PropertyName)
End Sub

Конструкторы

ExpandoObject() ExpandoObject() ExpandoObject() ExpandoObject()

Инициализирует новый ExpandoObject, не содержащий членов.Initializes a new ExpandoObject that does not have members.

Явные реализации интерфейса

ICollection<KeyValuePair<String,Object>>.Add(KeyValuePair<String,Object>) ICollection<KeyValuePair<String,Object>>.Add(KeyValuePair<String,Object>) ICollection<KeyValuePair<String,Object>>.Add(KeyValuePair<String,Object>) ICollection<KeyValuePair<String,Object>>.Add(KeyValuePair<String,Object>)

Добавляет указанное значение в ICollection<T> с указанным ключом.Adds the specified value to the ICollection<T> that has the specified key.

ICollection<KeyValuePair<String,Object>>.Clear() ICollection<KeyValuePair<String,Object>>.Clear() ICollection<KeyValuePair<String,Object>>.Clear() ICollection<KeyValuePair<String,Object>>.Clear()

Удаляет все элементы из коллекции.Removes all items from the collection.

ICollection<KeyValuePair<String,Object>>.Contains(KeyValuePair<String,Object>) ICollection<KeyValuePair<String,Object>>.Contains(KeyValuePair<String,Object>) ICollection<KeyValuePair<String,Object>>.Contains(KeyValuePair<String,Object>) ICollection<KeyValuePair<String,Object>>.Contains(KeyValuePair<String,Object>)

Определяет, содержит ли коллекция ICollection<T> указанные ключ и значение.Determines whether the ICollection<T> contains a specific key and value.

ICollection<KeyValuePair<String,Object>>.CopyTo(KeyValuePair<String,Object>[], Int32) ICollection<KeyValuePair<String,Object>>.CopyTo(KeyValuePair<String,Object>[], Int32) ICollection<KeyValuePair<String,Object>>.CopyTo(KeyValuePair<String,Object>[], Int32) ICollection<KeyValuePair<String,Object>>.CopyTo(KeyValuePair<String,Object>[], Int32)

Копирует элементы коллекции ICollection<T> в массив типа KeyValuePair<TKey,TValue>, начиная с указанного индекса массива.Copies the elements of the ICollection<T> to an array of type KeyValuePair<TKey,TValue>, starting at the specified array index.

ICollection<KeyValuePair<String,Object>>.Count ICollection<KeyValuePair<String,Object>>.Count ICollection<KeyValuePair<String,Object>>.Count ICollection<KeyValuePair<String,Object>>.Count

Возвращает количество элементов в ICollection<T>.Gets the number of elements in the ICollection<T>.

ICollection<KeyValuePair<String,Object>>.IsReadOnly ICollection<KeyValuePair<String,Object>>.IsReadOnly ICollection<KeyValuePair<String,Object>>.IsReadOnly ICollection<KeyValuePair<String,Object>>.IsReadOnly

Получает значение, указывающее, является ли объект ICollection<T> доступным только для чтения.Gets a value indicating whether the ICollection<T> is read-only.

ICollection<KeyValuePair<String,Object>>.Remove(KeyValuePair<String,Object>) ICollection<KeyValuePair<String,Object>>.Remove(KeyValuePair<String,Object>) ICollection<KeyValuePair<String,Object>>.Remove(KeyValuePair<String,Object>) ICollection<KeyValuePair<String,Object>>.Remove(KeyValuePair<String,Object>)

Удаляет из коллекции ключ и значение.Removes a key and value from the collection.

IDictionary<String,Object>.Add(String, Object) IDictionary<String,Object>.Add(String, Object) IDictionary<String,Object>.Add(String, Object) IDictionary<String,Object>.Add(String, Object)

Добавляет указанные ключ и значение в словарь.Adds the specified key and value to the dictionary.

IDictionary<String,Object>.ContainsKey(String) IDictionary<String,Object>.ContainsKey(String) IDictionary<String,Object>.ContainsKey(String) IDictionary<String,Object>.ContainsKey(String)

Определяет, содержится ли указанный ключ в словаре.Determines whether the dictionary contains the specified key.

IDictionary<String,Object>.Item[String] IDictionary<String,Object>.Item[String] IDictionary<String,Object>.Item[String] IDictionary<String,Object>.Item[String]

Получает или задает элемент, имеющий указанный ключ.Gets or sets the element that has the specified key.

IDictionary<String,Object>.Keys IDictionary<String,Object>.Keys IDictionary<String,Object>.Keys IDictionary<String,Object>.Keys

Получает ICollection<T>, который содержит ключи IDictionary<TKey,TValue>.Gets an ICollection<T> that contains the keys of the IDictionary<TKey,TValue>.

IDictionary<String,Object>.Remove(String) IDictionary<String,Object>.Remove(String) IDictionary<String,Object>.Remove(String) IDictionary<String,Object>.Remove(String)

Удаляет из IDictionary элемент, имеющий указанный ключ.Removes the element that has the specified key from the IDictionary.

IDictionary<String,Object>.TryGetValue(String, Object) IDictionary<String,Object>.TryGetValue(String, Object) IDictionary<String,Object>.TryGetValue(String, Object) IDictionary<String,Object>.TryGetValue(String, Object)

Получает значение, связанное с заданным ключом.Gets the value associated with the specified key.

IDictionary<String,Object>.Values IDictionary<String,Object>.Values IDictionary<String,Object>.Values IDictionary<String,Object>.Values

Возвращает коллекцию ICollection<T>, которая содержит значения в IDictionary<TKey,TValue>.Gets an ICollection<T> that contains the values in the IDictionary<TKey,TValue>.

IDynamicMetaObjectProvider.GetMetaObject(Expression) IDynamicMetaObjectProvider.GetMetaObject(Expression) IDynamicMetaObjectProvider.GetMetaObject(Expression) IDynamicMetaObjectProvider.GetMetaObject(Expression)

Предоставленный объект MetaObject будет вызывать динамические виртуальные методы.The provided MetaObject will dispatch to the dynamic virtual methods. Объект можно инкапсулировать внутри другого объекта MetaObject, чтобы обеспечить пользовательское поведение для отдельных действий.The object can be encapsulated inside another MetaObject to provide custom behavior for individual actions.

IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

Возвращает перечислитель, выполняющий перебор элементов в коллекции.Returns an enumerator that iterates through the collection.

IEnumerable<KeyValuePair<String,Object>>.GetEnumerator() IEnumerable<KeyValuePair<String,Object>>.GetEnumerator() IEnumerable<KeyValuePair<String,Object>>.GetEnumerator() IEnumerable<KeyValuePair<String,Object>>.GetEnumerator()

Возвращает перечислитель, выполняющий перебор элементов в коллекции.Returns an enumerator that iterates through the collection.

INotifyPropertyChanged.PropertyChanged INotifyPropertyChanged.PropertyChanged INotifyPropertyChanged.PropertyChanged INotifyPropertyChanged.PropertyChanged

Возникает при смене значения свойства.Occurs when a property value changes.

Методы

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()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Методы расширения

Remove<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue) Remove<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue) Remove<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue) Remove<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue)
TryAdd<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue) TryAdd<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue) TryAdd<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue) TryAdd<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue)
CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>)

Возвращает объект DataTable, содержащий копии объектов DataRow при заданном входном объекте IEnumerable<T> и универсальном параметре T, равном DataRow.Returns a DataTable that contains copies of the DataRow objects, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

Копирует объекты DataRow в указанный объект DataTable с заданным входным объектом IEnumerable<T>, где универсальный параметр T имеет значение DataRow.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

Копирует объекты DataRow в указанный объект DataTable с заданным входным объектом IEnumerable<T>, где универсальный параметр T имеет значение DataRow.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.Converts an IEnumerable to an IQueryable.

Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>) Ancestors<T>(IEnumerable<T>)

Возвращает коллекцию элементов, содержащую предков каждого узла в исходной коллекции.Returns a collection of elements that contains the ancestors of every node in the source collection.

Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName) Ancestors<T>(IEnumerable<T>, XName)

Возвращает отфильтрованную коллекцию элементов, содержащую предков каждого узла в исходной коллекции.Returns a filtered collection of elements that contains the ancestors of every node in the source collection. В коллекцию включаются только элементы, соответствующие XName.Only elements that have a matching XName are included in the collection.

DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>) DescendantNodes<T>(IEnumerable<T>)

Возвращает коллекцию подчиненных узлов каждого документа и элемента в исходной коллекции.Returns a collection of the descendant nodes of every document and element in the source collection.

Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>) Descendants<T>(IEnumerable<T>)

Возвращает коллекцию элементов, содержащую подчиненные элементы каждого элемента и документа в исходной коллекции.Returns a collection of elements that contains the descendant elements of every element and document in the source collection.

Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName) Descendants<T>(IEnumerable<T>, XName)

Возвращает отфильтрованную коллекцию элементов, содержащую подчиненные элементы каждого элемента и документа в исходной коллекции.Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. В коллекцию включаются только элементы, соответствующие XName.Only elements that have a matching XName are included in the collection.

Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>) Elements<T>(IEnumerable<T>)

Возвращает коллекцию дочерних элементов каждого элемента и документа в исходной коллекции.Returns a collection of the child elements of every element and document in the source collection.

Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName) Elements<T>(IEnumerable<T>, XName)

Возвращает отфильтрованную коллекцию дочерних элементов каждого элемента и документа в исходной коллекции.Returns a filtered collection of the child elements of every element and document in the source collection. В коллекцию включаются только элементы, соответствующие XName.Only elements that have a matching XName are included in the collection.

InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>) InDocumentOrder<T>(IEnumerable<T>)

Возвращает коллекцию узлов, содержащую все узлы в исходной коллекции, отсортированные в порядке следования документов.Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>) Nodes<T>(IEnumerable<T>)

Возвращает коллекцию дочерних узлов каждого документа и элемента в исходной коллекции.Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>) Remove<T>(IEnumerable<T>)

Удаление каждого узла в исходной коллекции из родительского узла.Removes every node in the source collection from its parent node.

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