Extensions.Remove Método

Definição

Sobrecargas

Remove(IEnumerable<XAttribute>)

Remove cada atributo na coleção de origem do respectivo elemento pai.Removes every attribute in the source collection from its parent element.

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.

Remove(IEnumerable<XAttribute>)

Remove cada atributo na coleção de origem do respectivo elemento pai.Removes every attribute in the source collection from its parent element.

public:
[System::Runtime::CompilerServices::Extension]
 static void Remove(System::Collections::Generic::IEnumerable<System::Xml::Linq::XAttribute ^> ^ source);
public static void Remove (this System.Collections.Generic.IEnumerable<System.Xml.Linq.XAttribute> source);
static member Remove : seq<System.Xml.Linq.XAttribute> -> unit
<Extension()>
Public Sub Remove (source As IEnumerable(Of XAttribute))

Parâmetros

source
IEnumerable<XAttribute>

Um IEnumerable<T> do XAttribute que contém a coleção de origem.An IEnumerable<T> of XAttribute that contains the source collection.

Exemplos

O exemplo a seguir recupera uma coleção de atributos e, em seguida, chama esse método para removê-los de seus elementos pai.The following example retrieves a collection of attributes, and then calls this method to remove them from their parent elements.

XElement root = new XElement("Root",  
    new XAttribute("Att1", 1),  
    new XAttribute("Att2", 2),  
    new XAttribute("Att3", 3),  
    new XAttribute("Att4", 4),  
    new XAttribute("Att5", 5)  
);  
  
IEnumerable<XAttribute> atList =  
    from at in root.Attributes()  
    where (int)at >= 3  
    select at;  
  
atList.Remove();  
  
Console.WriteLine(root);  
Dim root As XElement = <Root Att1="1" Att2="2" Att3="3" Att4="4" Att5="5"/>  
  
Dim atList = From at In root.Attributes _  
             Where at.Value >= 3 _  
             Select at  
  
atList.Remove()  
  
Console.WriteLine(root)  
  

Este exemplo gera a seguinte saída:This example produces the following output:

<Root Att1="1" Att2="2" />  

Comentários

Esse método usa a semântica de instantâneo – ou seja, ele copia os atributos na coleção de origem para System.Collections.Generic.List<T> um antes de desconectá-los de seus pais.This method uses snapshot semantics - that is, it copies the attributes in the source collection to a System.Collections.Generic.List<T> before disconnecting them from their parents. Isso é necessário para evitar problemas com código obrigatório/declarativo misto.This is required to avoid issues with mixed imperative/declarative code. Para obter mais informações, consulte código declarativo misto/bugs de código imperativo (LINQ to XML).For more information, see Mixed Declarative Code/Imperative Code Bugs (LINQ to XML).

Veja também

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.

public:
generic <typename T>
 where T : System::Xml::Linq::XNode[System::Runtime::CompilerServices::Extension]
 static void Remove(System::Collections::Generic::IEnumerable<T> ^ source);
public static void Remove<T> (this System.Collections.Generic.IEnumerable<T> source) where T : System.Xml.Linq.XNode;
static member Remove : seq<'T (requires 'T :> System.Xml.Linq.XNode)> -> unit (requires 'T :> System.Xml.Linq.XNode)
<Extension()>
Public Sub Remove(Of T As XNode) (source As IEnumerable(Of T))

Parâmetros de tipo

T

O tipo dos objetos em source, restritos para XNode.The type of the objects in source, constrained to XNode.

Parâmetros

source
IEnumerable<T>

Um IEnumerable<T> do XNode que contém a coleção de origem.An IEnumerable<T> of XNode that contains the source collection.

Exemplos

O exemplo a seguir recupera uma coleção de elementos.The following example retrieves a collection of elements. Em seguida, ele chama esse método para remover os elementos de seu elemento pai.It then calls this method to remove the elements from their parent element.

XElement root = new XElement("Root",  
    new XElement("Data", 1),  
    new XElement("Data", 2),  
    new XElement("Data", 3),  
    new XElement("Data", 4),  
    new XElement("Data", 5)  
);  
  
IEnumerable<XElement> elList =  
    from el in root.Elements()  
    where (int)el >= 3  
    select el;  
  
elList.Remove();  
  
Console.WriteLine(root);  
Dim root As XElement = _  
    <Root>  
        <Data>1</Data>  
        <Data>2</Data>  
        <Data>3</Data>  
        <Data>4</Data>  
        <Data>5</Data>  
    </Root>  
  
Dim elList = From el In root.Elements _  
             Where el.Value >= 3 _  
             Select el  
  
elList.Remove()  
  
Console.WriteLine(root)  
  

Este exemplo gera a seguinte saída:This example produces the following output:

<Root>  
  <Data>1</Data>  
  <Data>2</Data>  
</Root>  

Comentários

Esse método usa a semântica de instantâneo – ou seja, ele copia os atributos na coleção de origem para List<T> um antes de desconectá-los de seus pais.This method uses snapshot semantics - that is, it copies the attributes in the source collection to a List<T> before disconnecting them from their parents. Isso é necessário para evitar problemas com código obrigatório/declarativo misto.This is required to avoid issues with mixed imperative/declarative code. Para obter mais informações, consulte código declarativo misto/bugs de código imperativo (LINQ to XML).For more information, see Mixed Declarative Code/Imperative Code Bugs (LINQ to XML).

Veja também

Aplica-se a