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> в совместимый одномерный массив 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>.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)

Вставляет новый элемент PeerEndPoint в PeerEndPointCollection по указанному индексу или ключу.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>)

Возвращает объект DataTable, содержащий копии объектов DataRow при заданном входном объекте IEnumerable<T> и универсальном параметре 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)

Копирует объекты DataRow в указанный объект DataTable с заданным входным объектом IEnumerable<T>, где универсальный параметр 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)

Копирует объекты DataRow в указанный объект DataTable с заданным входным объектом IEnumerable<T>, где универсальный параметр 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)

Преобразовывает коллекцию IEnumerable в объект IQueryable.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.

Применяется к

Дополнительно