ExpandoObject ExpandoObject ExpandoObject ExpandoObject Class

Definição

Representa um objeto cujos membros podem ser adicionados e removidos no tempo de execução dinamicamente.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
Herança
ExpandoObjectExpandoObjectExpandoObjectExpandoObject
Implementações

Comentários

O ExpandoObject classe permite que você adicionar e excluir membros de suas instâncias em tempo de execução e também definir e obter os valores desses membros.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. Esta classe dá suporte à associação dinâmica, que permite que você use a sintaxe padrão, como sampleObject.sampleMember em vez de uma sintaxe mais complexa como 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").

O ExpandoObject classe implementa a interface padrão do Dynamic Language Runtime (DLR) IDynamicMetaObjectProvider, que permite que você compartilhe instâncias do ExpandoObject classe entre linguagens com suporte para o modelo de interoperabilidade do DLR.The 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. Por exemplo, você pode criar uma instância da ExpandoObject de classe em C# e, em seguida, passá-lo para uma função de IronPython.For example, you can create an instance of the ExpandoObject class in C# and then pass it to an IronPython function. Para obter mais informações, consulte visão geral do Dynamic Language Runtime e Introdução ao ExpandoObject sobre o C# com frequência site de perguntas.For more information, see Dynamic Language Runtime Overview and Introducing the ExpandoObject on the C# Frequently Asked Questions Web site.

O ExpandoObject classe é uma implementação do conceito de objeto dinâmico que permite que os membros de invocação obtenção e configuração.The ExpandoObject class is an implementation of the dynamic object concept that enables getting, setting, and invoking members. Se você quiser definir os tipos que têm sua próprias dinâmico semântica de expedição, use o DynamicObject classe.If you want to define types that have their own dynamic dispatch semantics, use the DynamicObject class. Se você deseja definir como os objetos dinâmicos participarem no protocolo de interoperabilidade e gerenciar o cache de expedição dinâmica rápidas do DLR, crie sua própria implementação do IDynamicMetaObjectProvider interface.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.

Criação de uma instânciaCreating an Instance

No C#, para habilitar a associação tardia para uma instância das ExpandoObject classe, você deve usar o dynamic palavra-chave.In C#, to enable late binding for an instance of the ExpandoObject class, you must use the dynamic keyword. Para obter mais informações, veja Usando o tipo dynamic.For more information, see Using Type dynamic.

No Visual Basic, operações dinâmicas têm suporte por associação tardia.In Visual Basic, dynamic operations are supported by late binding. Para obter mais informações, consulte associação antecipada e tardia.For more information, see Early and Late Binding.

O exemplo de código a seguir demonstra como criar uma instância da ExpandoObject classe.The following code example demonstrates how to create an instance of the ExpandoObject class.

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

Adicionar novos membrosAdding New Members

Você pode adicionar propriedades, métodos e eventos para instâncias do ExpandoObject classe.You can add properties, methods, and events to instances of the ExpandoObject class.

O exemplo de código a seguir demonstra como adicionar uma nova propriedade a uma instância da ExpandoObject classe.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

Os métodos representam expressões lambda que são armazenadas como delegados, que podem ser invocados quando eles forem necessários.The methods represent lambda expressions that are stored as delegates, which can be invoked when they are needed. O exemplo de código a seguir demonstra como adicionar um método que incrementa um valor da propriedade dinâmica.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

O exemplo de código a seguir demonstra como adicionar um evento a uma instância da ExpandoObject classe.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  

Passando como um parâmetroPassing As a Parameter

Você pode passar instâncias da ExpandoObject classe como parâmetros.You can pass instances of the ExpandoObject class as parameters. Observe que essas instâncias são tratadas como objetos dinâmicos no C# e objetos de associação tardia no Visual Basic.Note that these instances are treated as dynamic objects in C# and late-bound objects in Visual Basic. Isso significa que você não terá o IntelliSense para membros do objeto e você não receber erros de compilador quando você chama membros inexistente.This means that you do not have IntelliSense for object members and you do not receive compiler errors when you call non-existent members. Se você chamar um membro que não existe, ocorre uma exceção.If you call a member that does not exist, an exception occurs.

O exemplo de código a seguir demonstra como você pode criar e usar um método para imprimir os nomes e valores de propriedades.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

Enumerando e excluindo membrosEnumerating and Deleting Members

A classe ExpandoObject implementa a interface IDictionary<String, Object>.The ExpandoObject class implements the IDictionary<String, Object> interface. Isso habilita a enumeração dos membros adicionados à instância da ExpandoObject classe no tempo de execução.This enables enumeration of members added to the instance of the ExpandoObject class at run time. Isso pode ser útil se você não souber em tempo de compilação quais membros de uma instância pode ter.This can be useful if you do not know at compile time what members an instance might have.

O exemplo de código a seguir mostra como você pode converter uma instância das ExpandoObject de classe para o IDictionary<TKey,TValue> de interface e enumerar os membros da instância.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

Em linguagens que não têm a sintaxe para a exclusão de membros (por exemplo, C# e Visual Basic), você pode excluir um membro Convertendo implicitamente uma instância das ExpandoObject para o IDictionary<String, Object> interface e, em seguida, excluir o membro como um par chave/valor.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. Isso é mostrado no exemplo a seguir.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")

Receber notificações de alterações de propriedadeReceiving Notifications of Property Changes

O ExpandoObject classe implementa as INotifyPropertyChanged interface e pode gerar um PropertyChanged evento quando um membro é adicionado, excluído ou modificado.The ExpandoObject class implements the INotifyPropertyChanged interface and can raise a PropertyChanged event when a member is added, deleted, or modified. Isso permite que ExpandoObject integração com a vinculação de dados do Windows Presentation Foundation (WPF) e outros ambientes que exigem a notificação sobre alterações no conteúdo do objeto de classe.This enables ExpandoObject class integration with Windows Presentation Foundation (WPF) data binding and other environments that require notification about changes in the object content.

O exemplo de código a seguir demonstra como criar um manipulador de eventos para o PropertyChanged eventos.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

Construtores

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

Inicializa um novo ExpandoObject que não tem membros.Initializes a new ExpandoObject that does not have members.

Implantações explícitas de interface

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

Adiciona o valor especificado à ICollection<T> que tem a chave especificada.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()

Remove todos os itens da coleção.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>)

Determina se o ICollection<T> contém uma chave e valor específicos.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)

Copia os elementos do ICollection<T> para uma matriz do tipo KeyValuePair<TKey,TValue>, começando no índice da matriz especificada.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

Obtém o número de elementos no 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

Obtém um valor que indica se o ICollection<T> é somente leitura.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>)

Remove uma chave e um valor da coleção.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)

Adiciona a chave e o valor especificados ao dicionário.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)

Determina se o dicionário contém a chave especificada.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]

Obtém ou define o elemento que tem a chave especificada.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

Obtém uma ICollection<T> que contém as chaves do 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)

Remove o elemento que tem a chave especificada do 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)

Obtém o valor associado à chave especificada.Gets the value associated with the specified key.

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

Obtém um ICollection<T> que contém os valores no 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)

O MetaObject fornecido expedirá para os métodos virtuais dinâmicos.The provided MetaObject will dispatch to the dynamic virtual methods. O objeto pode ser encapsulado em outro MetaObject para fornecer um comportamento personalizado para ações individuais.The object can be encapsulated inside another MetaObject to provide custom behavior for individual actions.

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

Retorna um enumerador que itera pela coleção.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()

Retorna um enumerador que itera pela coleção.Returns an enumerator that iterates through the collection.

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

Ocorre quando um valor de propriedade é alterado.Occurs when a property value changes.

Métodos

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

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

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

Serve como a função de hash padrão.Serves as the default hash function.

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

Obtém o Type da instância atual.Gets the Type of the current instance.

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

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

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

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Inherited from Object)

Métodos de Extensão

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

Retorna um DataTable que contém cópias dos objetos DataRow, dado um objeto IEnumerable<T> de entrada em que o parâmetro genérico 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)

Copia objetos DataRow no DataTable especificado, dado um objeto IEnumerable<T> de entrada em que o parâmetro genérico 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)

Copia objetos DataRow no DataTable especificado, dado um objeto IEnumerable<T> de entrada em que o parâmetro genérico 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)

Converte os elementos de um IEnumerable para o tipo especificado.Casts the elements of an IEnumerable to the specified type.

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

Filtra os elementos de um IEnumerable com base em um tipo especificado.Filters the elements of an IEnumerable based on a specified type.

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

Habilita a paralelização de uma consulta.Enables parallelization of a query.

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

Converte um IEnumerable em um IQueryable.Converts an IEnumerable to an IQueryable.

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

Retorna uma coleção de elementos que contém os ancestrais de cada nó na coleção de origem.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)

Retorna uma coleção filtrada de elementos que contém os ancestrais de cada nó na coleção de origem.Returns a filtered collection of elements that contains the ancestors of every node in the source collection. Somente os elementos que têm um XName correspondente são incluídos na coleção.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>)

Retorna uma coleção dos nós descendentes de todos os documentos e elementos na coleção de origem.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>)

Retorna uma coleção de elementos que contém os elementos descendentes de cada elemento e o documento na coleção de origem.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)

Retorna uma coleção filtrada de elementos que contém os elementos descendentes de cada elemento e o documento na coleção de origem.Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. Somente os elementos que têm um XName correspondente são incluídos na coleção.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>)

Retorna uma coleção dos filhos elementos de cada elemento e o documento na coleção de origem.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)

Retorna uma coleção filtrada dos elementos filho de cada elemento e documento na coleção de origem.Returns a filtered collection of the child elements of every element and document in the source collection. Somente os elementos que têm um XName correspondente são incluídos na coleção.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>)

Retorna uma coleção de nós que contém todos os nós na coleção de origem, classificados em ordem segundo o documento.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>)

Retorna uma coleção dos nós filhos de todos os documentos e elementos na coleção de origem.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>)

Remove todos os nós na coleção de origem do respectivo nó pai.Removes every node in the source collection from its parent node.

Aplica-se a