Extensions.Remove Méthode
Définition
Surcharges
Remove(IEnumerable<XAttribute>) |
Supprime chaque attribut de la collection source de son élément parent.Removes every attribute in the source collection from its parent element. |
Remove<T>(IEnumerable<T>) |
Supprime chaque nœud de la collection source de son nœud parent.Removes every node in the source collection from its parent node. |
Remove(IEnumerable<XAttribute>)
Supprime chaque attribut de la collection source de son élément parent.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);
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))
Paramètres
- source
- IEnumerable<XAttribute>
IEnumerable<T> de XAttribute qui contient la collection source.An IEnumerable<T> of XAttribute that contains the source collection.
Exemples
L’exemple suivant récupère une collection d’attributs, puis appelle cette méthode pour les supprimer de leurs éléments parents.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)
Cet exemple produit la sortie suivante :This example produces the following output:
<Root Att1="1" Att2="2" />
Remarques
Cette méthode utilise la sémantique d’instantané. autrement dit, elle copie les attributs de la collection source dans un System.Collections.Generic.List<T> avant de les déconnecter de leurs parents.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. Cela est nécessaire pour éviter les problèmes liés au code impératif/déclaratif mixte.This is required to avoid issues with mixed imperative/declarative code. Pour plus d’informations, consultez code déclaratif mixte/bogues de code impératifs (LINQ to XML).For more information, see Mixed Declarative Code/Imperative Code Bugs (LINQ to XML).
Voir aussi
S’applique à
Remove<T>(IEnumerable<T>)
Supprime chaque nœud de la collection source de son nœud parent.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;
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))
Paramètres de type
- T
Type des objets de source
, contraint par XNode.The type of the objects in source
, constrained to XNode.
Paramètres
- source
- IEnumerable<T>
IEnumerable<T> de XNode qui contient la collection source.An IEnumerable<T> of XNode that contains the source collection.
Exemples
L’exemple suivant récupère une collection d’éléments.The following example retrieves a collection of elements. Il appelle ensuite cette méthode pour supprimer les éléments de leur élément parent.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)
Cet exemple produit la sortie suivante :This example produces the following output:
<Root>
<Data>1</Data>
<Data>2</Data>
</Root>
Remarques
Cette méthode utilise la sémantique d’instantané. autrement dit, elle copie les attributs de la collection source dans un List<T>
avant de les déconnecter de leurs parents.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. Cela est nécessaire pour éviter les problèmes liés au code impératif/déclaratif mixte.This is required to avoid issues with mixed imperative/declarative code. Pour plus d’informations, consultez code déclaratif mixte/bogues de code impératifs (LINQ to XML).For more information, see Mixed Declarative Code/Imperative Code Bugs (LINQ to XML).