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

指定した入力 DataTable オブジェクトに応じて (ジェネリック パラメーター TDataRow)、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)

指定した入力 DataRow オブジェクトに応じて (ジェネリック パラメーター TDataTable)、指定した 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)

指定した入力 DataRow オブジェクトに応じて (ジェネリック パラメーター TDataTable)、指定した 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.

適用対象

こちらもご覧ください