PeerEndPointCollection Klasse

Definition

Stellt einen Container für Elemente eines PeerEndPoint-Objekts dar.Represents a container for elements of a PeerEndPoint object. Eine Instanz dieses Typs wird von der statischen Peer-Methode zurückgegeben.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)
Vererbung
PeerEndPointCollection
Attribute
Implementiert

Beispiele

   // 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;
   }

Eigenschaften

Count

Ruft die Anzahl der Elemente ab, die tatsächlich in Collection<T> enthalten sind.Gets the number of elements actually contained in the Collection<T>.

(Geerbt von Collection<T>)
Item[Int32]

Ruft das Element am angegebenen Index ab oder legt dieses fest.Gets or sets the element at the specified index.

(Geerbt von Collection<T>)
Items

Ruft den IList<T>-Wrapper ab, der Collection<T> einbindet.Gets a IList<T> wrapper around the Collection<T>.

(Geerbt von Collection<T>)

Methoden

Add(T)

Fügt am Ende der Collection<T> ein Objekt hinzu.Adds an object to the end of the Collection<T>.

(Geerbt von Collection<T>)
Clear()

Entfernt alle Elemente aus der Collection<T>.Removes all elements from the Collection<T>.

(Geerbt von Collection<T>)
ClearItems()

Entfernt alle Elemente aus der Collection<T>.Removes all elements from the Collection<T>.

(Geerbt von Collection<T>)
Contains(T)

Bestimmt, ob sich ein Element in Collection<T> befindet.Determines whether an element is in the Collection<T>.

(Geerbt von Collection<T>)
CopyTo(T[], Int32)

Kopiert die gesamte Collection<T>-Instanz in ein kompatibles eindimensionales Array, beginnend am angegebenen Index des Zielarrays.Copies the entire Collection<T> to a compatible one-dimensional Array, starting at the specified index of the target array.

(Geerbt von Collection<T>)
Equals(Object)

Ermittelt, ob das angegebene Objekt und das aktuelle Objekt gleich sind.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
Equals(PeerEndPointCollection)

Vergleicht die PeerEndPointCollection mit dem angegebenen Objekt.Compares the PeerEndPointCollection to the specified object.

GetEnumerator()

Gibt einen Enumerator zurück, der die Collection<T> durchläuft.Returns an enumerator that iterates through the Collection<T>.

(Geerbt von Collection<T>)
GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
IndexOf(T)

Sucht nach dem angegebenen Objekt und gibt den nullbasierten Index des ersten Vorkommens innerhalb der gesamten Collection<T> zurück.Searches for the specified object and returns the zero-based index of the first occurrence within the entire Collection<T>.

(Geerbt von Collection<T>)
Insert(Int32, T)

Fügt am angegebenen Index ein Element in die Collection<T> ein.Inserts an element into the Collection<T> at the specified index.

(Geerbt von Collection<T>)
InsertItem(Int32, PeerEndPoint)

Fügt am angegebenen Index oder Schlüssel ein neues PeerEndPoint-Element in die PeerEndPointCollection ein.Inserts a new PeerEndPoint element into the PeerEndPointCollection at the specified index or key.

InsertItem(Int32, T)

Fügt am angegebenen Index ein Element in die Collection<T> ein.Inserts an element into the Collection<T> at the specified index.

(Geerbt von Collection<T>)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
Remove(T)

Entfernt das erste Vorkommen eines angegebenen Objekts aus der Collection<T>.Removes the first occurrence of a specific object from the Collection<T>.

(Geerbt von Collection<T>)
RemoveAt(Int32)

Entfernt das Element am angegebenen Index aus der Collection<T>.Removes the element at the specified index of the Collection<T>.

(Geerbt von Collection<T>)
RemoveItem(Int32)

Entfernt das Element am angegebenen Index aus der Collection<T>.Removes the element at the specified index of the Collection<T>.

(Geerbt von Collection<T>)
SetItem(Int32, PeerEndPoint)

Ersetzt das PeerEndPoint-Element am angegebenen Index.Replaces the PeerEndPoint element at the specified index.

SetItem(Int32, T)

Ersetzt das Element am angegebenen Index.Replaces the element at the specified index.

(Geerbt von Collection<T>)
ToString()

Gibt einen String zurück, der den aktuellen Wert für jede Instanz von PeerEndPoint darstellt und durch Kommas getrennt wird.Returns a String representing the current value for each instance of PeerEndPoint, separated by commas.

Explizite Schnittstellenimplementierungen

ICollection.CopyTo(Array, Int32)

Kopiert die Elemente der ICollection in ein Array, beginnend bei einem bestimmten Array-Index.Copies the elements of the ICollection to an Array, starting at a particular Array index.

(Geerbt von Collection<T>)
ICollection.IsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf die ICollection synchronisiert (threadsicher) ist.Gets a value indicating whether access to the ICollection is synchronized (thread safe).

(Geerbt von Collection<T>)
ICollection.SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf ICollection synchronisiert werden kann.Gets an object that can be used to synchronize access to the ICollection.

(Geerbt von Collection<T>)
ICollection<T>.IsReadOnly

Ruft einen Wert ab, der angibt, ob das ICollection<T> schreibgeschützt ist.Gets a value indicating whether the ICollection<T> is read-only.

(Geerbt von Collection<T>)
IEnumerable.GetEnumerator()

Gibt einen Enumerator zurück, der eine Auflistung durchläuft.Returns an enumerator that iterates through a collection.

(Geerbt von Collection<T>)
IList.Add(Object)

Fügt der IList ein Element hinzu.Adds an item to the IList.

(Geerbt von Collection<T>)
IList.Contains(Object)

Ermittelt, ob die IList einen bestimmten Wert enthält.Determines whether the IList contains a specific value.

(Geerbt von Collection<T>)
IList.IndexOf(Object)

Bestimmt den Index eines bestimmten Elements in der IList.Determines the index of a specific item in the IList.

(Geerbt von Collection<T>)
IList.Insert(Int32, Object)

Fügt ein Element am angegebenen Index in die IList ein.Inserts an item into the IList at the specified index.

(Geerbt von Collection<T>)
IList.IsFixedSize

Ruft einen Wert ab, der angibt, ob das IList eine feste Größe aufweist.Gets a value indicating whether the IList has a fixed size.

(Geerbt von Collection<T>)
IList.IsReadOnly

Ruft einen Wert ab, der angibt, ob das IList schreibgeschützt ist.Gets a value indicating whether the IList is read-only.

(Geerbt von Collection<T>)
IList.Item[Int32]

Ruft das Element am angegebenen Index ab oder legt dieses fest.Gets or sets the element at the specified index.

(Geerbt von Collection<T>)
IList.Remove(Object)

Entfernt das erste Vorkommen eines angegebenen Objekts aus der IList.Removes the first occurrence of a specific object from the IList.

(Geerbt von Collection<T>)

Erweiterungsmethoden

CopyToDataTable<T>(IEnumerable<T>)

Gibt eine DataTable zurück, die Kopien der DataRow-Objekte enthält, wenn ein IEnumerable<T>-Eingabeobjekt vorhanden ist, bei dem der generische Parameter T den Wert DataRow hat.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)

Kopiert DataRow-Objekte in die angegebene DataTable, bei einem IEnumerable<T>-Eingabeobjekt, bei dem der generische Parameter T den Wert DataRow aufweist.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)

Kopiert DataRow-Objekte in die angegebene DataTable, bei einem IEnumerable<T>-Eingabeobjekt, bei dem der generische Parameter T den Wert DataRow aufweist.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ umCasts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen TypsFilters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.Enables parallelization of a query.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.Converts an IEnumerable to an IQueryable.

Ancestors<T>(IEnumerable<T>)

Gibt eine Auflistung von Elementen zurück, die die übergeordneten Elemente der einzelnen Knoten in der Quellauflistung enthält.Returns a collection of elements that contains the ancestors of every node in the source collection.

Ancestors<T>(IEnumerable<T>, XName)

Gibt eine gefilterte Auflistung von Elementen zurück, die die übergeordneten Elemente der einzelnen Knoten in der Quellauflistung enthält.Returns a filtered collection of elements that contains the ancestors of every node in the source collection. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.Only elements that have a matching XName are included in the collection.

DescendantNodes<T>(IEnumerable<T>)

Gibt eine Auflistung der Nachfolgerknoten jedes Dokuments und Elements in der Quellauflistung zurück.Returns a collection of the descendant nodes of every document and element in the source collection.

Descendants<T>(IEnumerable<T>)

Gibt eine Auflistung von Elementen zurück, die die Nachfolgerelemente jedes Elements und Dokuments in der Quellauflistung enthält.Returns a collection of elements that contains the descendant elements of every element and document in the source collection.

Descendants<T>(IEnumerable<T>, XName)

Gibt eine gefilterte Auflistung von Elementen zurück, die die Nachfolgerelemente jedes Elements und Dokuments in der Quellauflistung enthält.Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.Only elements that have a matching XName are included in the collection.

Elements<T>(IEnumerable<T>)

Gibt eine Auflistung der untergeordneten Elemente jedes Elements und Dokuments in der Quellauflistung zurück.Returns a collection of the child elements of every element and document in the source collection.

Elements<T>(IEnumerable<T>, XName)

Gibt eine gefilterte Auflistung der untergeordneten Elemente jedes Elements und Dokuments in der Quellauflistung zurück.Returns a filtered collection of the child elements of every element and document in the source collection. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.Only elements that have a matching XName are included in the collection.

InDocumentOrder<T>(IEnumerable<T>)

Gibt eine in Dokumentreihenfolge sortierte Auflistung von Knoten zurück, die alle Knoten in der Quellauflistung enthält.Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>)

Gibt eine Auflistung der untergeordneten Knoten jedes Dokuments und Elements in der Quellauflistung zurück.Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>)

Entfernt jeden Knoten in der Quellauflistung aus seinem übergeordneten Knoten.Removes every node in the source collection from its parent node.

Gilt für:

Siehe auch