PeerEndPointCollection 클래스

정의

PeerEndPoint 개체의 요소에 대한 컨테이너를 나타냅니다.Represents a container for elements of a PeerEndPoint object. 이 형식의 인스턴스는 Peer 클래스에서 반환됩니다.An instance of this type is returned by the Peer class.

public ref class PeerEndPointCollection : System::Collections::ObjectModel::Collection<System::Net::PeerToPeer::Collaboration::PeerEndPoint ^>, IEquatable<System::Net::PeerToPeer::Collaboration::PeerEndPointCollection ^>
[System.Serializable]
public class PeerEndPointCollection : System.Collections.ObjectModel.Collection<System.Net.PeerToPeer.Collaboration.PeerEndPoint>, IEquatable<System.Net.PeerToPeer.Collaboration.PeerEndPointCollection>
type PeerEndPointCollection = class
    inherit Collection<PeerEndPoint>
    interface IEquatable<PeerEndPointCollection>
Public Class PeerEndPointCollection
Inherits Collection(Of PeerEndPoint)
Implements IEquatable(Of PeerEndPointCollection)
상속
PeerEndPointCollection
특성
구현

예제

   // Displays all contacts and asssociated peer endpoints (PeerEndPoint) in the PeerContactCollection.
   private static void DisplayContacts(PeerContactCollection peerContactsCollection)
   {
       if (peerContactsCollection == null ||
           peerContactsCollection.Count == 0)
       {
           Console.WriteLine("No contacts to display. To add a contact select option 0 from the menu.");
       }
       else
       {
           foreach (PeerContact pc in peerContactsCollection)
           {
               Console.WriteLine("The contact is: {0}", pc.DisplayName);
               DisplayEndpoints(pc.PeerEndPoints);
           }
       }
       return;
   }
   
   //------------------------------------------------------------------------------------------------------
   //------------------------------------------------------------------------------------------------------
   // Displays all peer end points (PeerEndPoint) in the PeerEndPointCollection.

   private static void DisplayEndpoints(PeerEndPointCollection endpointCollection)
   {
       if (endpointCollection == null ||  endpointCollection.Count == 0)
           Console.WriteLine("No peer endpoints in the collection to display.");
       else
       {
           foreach (PeerEndPoint pep in endpointCollection)
           {
               Console.WriteLine("PeerEndPoint is: {0}", pep);
               Console.WriteLine("PeerEndPoint data is:\n  Name: {0}\n EndPoint IP address: {1}\n . Port: {2}\n",
                   pep.Name,
                   pep.EndPoint.Address,
                   pep.EndPoint.Port);
           }
       }
       return;
   }
   
   //------------------------------------------------------------------------------------------------------
   //------------------------------------------------------------------------------------------------------
   //List PeerNearMe objects that may be added as contacts.
   
   private static void AddContact()
   {
       PeerNearMeCollection pnmc = null;
       PeerContactCollection peerContacts = null;            
       bool peerNameFound = false;

       PeerApplication application = null;

       try
       {
           Console.WriteLine("Listing the existing contacts...");
           peerContacts = PeerCollaboration.ContactManager.GetContacts();
       }
       catch (PeerToPeerException p2pEx)
       {
           Console.WriteLine("The Peer Collaboration Infrastructure is not responding to the contact enumeration request: {0}", p2pEx.Message);
       }
       catch (Exception ex)
       {
           Console.WriteLine("An unexpected error occurred while attempting to obtain the contact list: {0}", ex.Message);
       }

       DisplayContacts(peerContacts);

       try
       {
           //Adds one of the PeerNearMe objects as a contact.                               
           pnmc = GetPeersNearMe();
           Console.WriteLine("Please enter the nickname of the peer you wish to add as a contact:");
           string peerNameToAdd = Console.ReadLine();

           application = RegisterCollabApp();

           foreach (PeerNearMe pnm in pnmc)
           {
               PeerInvitationResponse res = null;
               if (pnm.Nickname.Contains(peerNameToAdd))
               {
                   peerNameFound = true;
                   if (!peerContacts.ToString().Contains(pnm.Nickname))
                   {
                       Console.WriteLine("Adding peer {0} to the contact list.", pnm.Nickname);
                       pnm.AddToContactManager();
                   }
                   else
                   {
                       Console.WriteLine("This peer already exists in your contact list.");
                       Console.WriteLine("Sending invitation using the Contact structure instead of the PeerNearMe.");
                       foreach (PeerContact pc in peerContacts)
                       {
                           if (pc.Nickname.Equals(pnm.Nickname))
                           {
                               res = pnm.Invite(application, "Peer Collaboration Sample", application.Data);
                               if (res.PeerInvitationResponseType == PeerInvitationResponseType.Accepted)
                               {
                                   Console.WriteLine("Invitation to contact succeeded.");
                               }
                               else
                               {
                                   Console.WriteLine("Invitation to contact {0}.", res.PeerInvitationResponseType);
                               }
                           }
                       }

                   }
               }
           }

           if (!peerNameFound)
           {
               Console.WriteLine("No such peer exists near you. Cannot add to contacts.");
               return;
           }

           peerContacts = PeerCollaboration.ContactManager.GetContacts();

           Console.WriteLine("Listing the contacts again...");
           DisplayContacts(peerContacts);

       }
       catch (Exception ex)
       {
           Console.WriteLine("Error adding a contact: {0}", ex.Message);
       }
       finally
       {
           application.Dispose();
       }
       return;
   }

속성

Count

Collection<T>에 실제로 포함된 요소의 수를 가져옵니다.Gets the number of elements actually contained in the Collection<T>.

(다음에서 상속됨 Collection<T>)
Item[Int32]

지정한 인덱스에 있는 요소를 가져오거나 설정합니다.Gets or sets the element at the specified index.

(다음에서 상속됨 Collection<T>)
Items

IList<T>을 둘러싸는 Collection<T> 래퍼를 가져옵니다.Gets a IList<T> wrapper around the Collection<T>.

(다음에서 상속됨 Collection<T>)

메서드

Add(T)

개체를 Collection<T>의 끝 부분에 추가합니다.Adds an object to the end of the Collection<T>.

(다음에서 상속됨 Collection<T>)
Clear()

Collection<T>에서 요소를 모두 제거합니다.Removes all elements from the Collection<T>.

(다음에서 상속됨 Collection<T>)
ClearItems()

Collection<T>에서 요소를 모두 제거합니다.Removes all elements from the Collection<T>.

(다음에서 상속됨 Collection<T>)
Contains(T)

Collection<T>에 요소가 있는지 여부를 확인합니다.Determines whether an element is in the Collection<T>.

(다음에서 상속됨 Collection<T>)
CopyTo(T[], Int32)

대상 배열의 지정된 인덱스에서 시작하여 전체 Collection<T>을 호환되는 1차원 Array에 복사합니다.Copies the entire Collection<T> to a compatible one-dimensional Array, starting at the specified index of the target array.

(다음에서 상속됨 Collection<T>)
Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
Equals(PeerEndPointCollection)

PeerEndPointCollection을 지정된 개체와 비교합니다.Compares the PeerEndPointCollection to the specified object.

GetEnumerator()

Collection<T>를 반복하는 열거자를 반환합니다.Returns an enumerator that iterates through the Collection<T>.

(다음에서 상속됨 Collection<T>)
GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
IndexOf(T)

지정된 개체를 검색하고, 전체 Collection<T>에서 처음으로 검색한 개체의 인덱스(0부터 시작)를 반환합니다.Searches for the specified object and returns the zero-based index of the first occurrence within the entire Collection<T>.

(다음에서 상속됨 Collection<T>)
Insert(Int32, T)

Collection<T>의 지정된 인덱스에 요소를 삽입합니다.Inserts an element into the Collection<T> at the specified index.

(다음에서 상속됨 Collection<T>)
InsertItem(Int32, PeerEndPoint)

PeerEndPointCollection의 지정된 인덱스 또는 키에 새 PeerEndPoint 요소를 삽입합니다.Inserts a new PeerEndPoint element into the PeerEndPointCollection at the specified index or key.

InsertItem(Int32, T)

Collection<T>의 지정된 인덱스에 요소를 삽입합니다.Inserts an element into the Collection<T> at the specified index.

(다음에서 상속됨 Collection<T>)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
Remove(T)

Collection<T>에서 맨 처음 발견되는 특정 개체를 제거합니다.Removes the first occurrence of a specific object from the Collection<T>.

(다음에서 상속됨 Collection<T>)
RemoveAt(Int32)

Collection<T>의 지정된 인덱스에 있는 요소를 제거합니다.Removes the element at the specified index of the Collection<T>.

(다음에서 상속됨 Collection<T>)
RemoveItem(Int32)

Collection<T>의 지정된 인덱스에 있는 요소를 제거합니다.Removes the element at the specified index of the Collection<T>.

(다음에서 상속됨 Collection<T>)
SetItem(Int32, PeerEndPoint)

지정된 인덱스 위치에 있는 PeerEndPoint 요소를 바꿉니다.Replaces the PeerEndPoint element at the specified index.

SetItem(Int32, T)

지정된 인덱스에 있는 요소를 바꿉니다.Replaces the element at the specified index.

(다음에서 상속됨 Collection<T>)
ToString()

String의 각 인스턴스에 대한 현재 값을 나타내는 PeerEndPoint을 쉼표로 구분하여 반환합니다.Returns a String representing the current value for each instance of PeerEndPoint, separated by commas.

명시적 인터페이스 구현

ICollection.CopyTo(Array, Int32)

특정 ICollection 인덱스부터 시작하여 Array의 요소를 Array에 복사합니다.Copies the elements of the ICollection to an Array, starting at a particular Array index.

(다음에서 상속됨 Collection<T>)
ICollection.IsSynchronized

ICollection에 대한 액세스가 동기화되어 스레드로부터 안전하게 보호되는지를 나타내는 값을 가져옵니다.Gets a value indicating whether access to the ICollection is synchronized (thread safe).

(다음에서 상속됨 Collection<T>)
ICollection.SyncRoot

ICollection에 대한 액세스를 동기화하는 데 사용할 수 있는 개체를 가져옵니다.Gets an object that can be used to synchronize access to the ICollection.

(다음에서 상속됨 Collection<T>)
ICollection<T>.IsReadOnly

ICollection<T>가 읽기 전용인지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the ICollection<T> is read-only.

(다음에서 상속됨 Collection<T>)
IEnumerable.GetEnumerator()

컬렉션을 반복하는 열거자를 반환합니다.Returns an enumerator that iterates through a collection.

(다음에서 상속됨 Collection<T>)
IList.Add(Object)

IList에 항목을 추가합니다.Adds an item to the IList.

(다음에서 상속됨 Collection<T>)
IList.Contains(Object)

IList에 특정 값이 들어 있는지 여부를 확인합니다.Determines whether the IList contains a specific value.

(다음에서 상속됨 Collection<T>)
IList.IndexOf(Object)

IList에서 특정 항목의 인덱스를 결정합니다.Determines the index of a specific item in the IList.

(다음에서 상속됨 Collection<T>)
IList.Insert(Int32, Object)

항목을 IList의 지정한 인덱스에 삽입합니다.Inserts an item into the IList at the specified index.

(다음에서 상속됨 Collection<T>)
IList.IsFixedSize

IList의 크기가 고정되어 있는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the IList has a fixed size.

(다음에서 상속됨 Collection<T>)
IList.IsReadOnly

IList가 읽기 전용인지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the IList is read-only.

(다음에서 상속됨 Collection<T>)
IList.Item[Int32]

지정한 인덱스에 있는 요소를 가져오거나 설정합니다.Gets or sets the element at the specified index.

(다음에서 상속됨 Collection<T>)
IList.Remove(Object)

IList에서 맨 처음 발견되는 특정 개체를 제거합니다.Removes the first occurrence of a specific object from the IList.

(다음에서 상속됨 Collection<T>)

확장 메서드

CopyToDataTable<T>(IEnumerable<T>)

제네릭 매개 변수 TDataTable인 지정된 입력 DataRow 개체를 사용하여 IEnumerable<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)

제네릭 매개 변수 TDataRow인 지정된 입력 DataTable 개체를 사용하여 IEnumerable<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)

제네릭 매개 변수 TDataRow인 지정된 입력 DataTable 개체를 사용하여 IEnumerable<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)

IEnumerable의 요소를 지정된 형식으로 캐스팅합니다.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

지정된 형식에 따라 IEnumerable의 요소를 필터링합니다.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

쿼리를 병렬화할 수 있도록 합니다.Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerableIQueryable로 변환합니다.Converts an IEnumerable to an IQueryable.

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)

소스 컬렉션에 있는 모든 노드의 상위 항목이 들어 있는 필터링된 요소 컬렉션을 반환합니다.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>)

소스 컬렉션에 있는 모든 문서 및 요소의 하위 노드 컬렉션을 반환합니다.Returns a collection of the descendant nodes of every document and element in the source collection.

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)

소스 컬렉션에 있는 모든 요소 및 문서의 하위 요소가 들어 있는 필터링된 요소 컬렉션을 반환합니다.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>)

소스 컬렉션에 있는 모든 요소 및 문서의 자식 요소 컬렉션을 반환합니다.Returns a collection of the child elements of every element and document in the source collection.

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

소스 컬렉션의 모든 노드가 문서 순으로 정렬되어 들어 있는 노드 컬렉션을 반환합니다.Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>)

소스 컬렉션에 있는 모든 문서 및 요소의 자식 노드 컬렉션을 반환합니다.Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>)

부모 노드에서 소스 컬렉션의 모든 노드를 제거합니다.Removes every node in the source collection from its parent node.

적용 대상

추가 정보