Extensions.Remove Extensions.Remove Extensions.Remove Extensions.Remove Method

정의

오버로드

Remove(IEnumerable<XAttribute>) Remove(IEnumerable<XAttribute>) Remove(IEnumerable<XAttribute>) Remove(IEnumerable<XAttribute>)

부모 요소에서 소스 컬렉션의 모든 특성을 제거합니다.Removes every attribute in the source collection from its parent element.

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.

Remove(IEnumerable<XAttribute>) Remove(IEnumerable<XAttribute>) Remove(IEnumerable<XAttribute>) Remove(IEnumerable<XAttribute>)

부모 요소에서 소스 컬렉션의 모든 특성을 제거합니다.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))

매개 변수

source
IEnumerable<XAttribute>

소스 컬렉션이 들어 있는 IEnumerable<T>XAttribute입니다.An IEnumerable<T> of XAttribute that contains the source collection.

예제

다음 예제에서는 특성의 컬렉션을 검색 한 다음 해당 부모 요소에서 제거 하려면이 메서드를 호출 합니다.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)  

이 예제는 다음과 같은 출력을 생성합니다.This example produces the following output:

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

설명

특성을 소스 컬렉션에 있는 복사,-스냅숏 의미 체계를 사용 하는이 메서드는 System.Collections.Generic.List<T> 부모 로부터 분리 하기 전에 합니다.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. 이 선언적/명령적 코드가 혼합된 된 문제를 방지 해야 합니다.This is required to avoid issues with mixed imperative/declarative code. 자세한 내용은 혼합 된 선언적 코드/명령적 코드 버그 (LINQ to XML)합니다.For more information, see Mixed Declarative Code/Imperative Code Bugs (LINQ to XML).

추가 정보

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.

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

형식 매개 변수

T

XNode로 제한된 source의 개체 형식입니다.The type of the objects in source, constrained to XNode.

매개 변수

source
IEnumerable<T> IEnumerable<T> IEnumerable<T> IEnumerable<T>

소스 컬렉션이 들어 있는 IEnumerable<T>XNode입니다.An IEnumerable<T> of XNode that contains the source collection.

예제

다음 예제에서는 요소의 컬렉션을 검색 합니다.The following example retrieves a collection of elements. 그런 다음 해당 부모 요소에서 요소를 제거 하려면이 메서드를 호출 합니다.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)  

이 예제는 다음과 같은 출력을 생성합니다.This example produces the following output:

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

설명

특성을 소스 컬렉션에 있는 복사,-스냅숏 의미 체계를 사용 하는이 메서드는 List<T> 부모 로부터 분리 하기 전에 합니다.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. 이 선언적/명령적 코드가 혼합된 된 문제를 방지 해야 합니다.This is required to avoid issues with mixed imperative/declarative code. 자세한 내용은 혼합 된 선언적 코드/명령적 코드 버그 (LINQ to XML)합니다.For more information, see Mixed Declarative Code/Imperative Code Bugs (LINQ to XML).

추가 정보

적용 대상