MessagePartCollection 類別

定義

表示 MessagePart 類別的執行個體的集合。 此類別無法獲得繼承。

public ref class MessagePartCollection sealed : System::Web::Services::Description::ServiceDescriptionBaseCollection
public sealed class MessagePartCollection : System.Web.Services.Description.ServiceDescriptionBaseCollection
type MessagePartCollection = class
    inherit ServiceDescriptionBaseCollection
Public NotInheritable Class MessagePartCollection
Inherits ServiceDescriptionBaseCollection
繼承

範例

下列範例示範如何使用 類別所 MessagePartCollection 公開的方法和屬性。

#using <System.dll>
#using <System.Xml.dll>
#using <System.Web.Services.dll>

using namespace System;
using namespace System::Web::Services::Description;
using namespace System::Collections;
using namespace System::Xml;
int main()
{
   Console::WriteLine( "" );
   Console::WriteLine( "MessagePartCollection Sample" );
   Console::WriteLine( "============================" );
   Console::WriteLine( "" );
   ServiceDescription^ myServiceDescription = ServiceDescription::Read( "MathService.wsdl" );

   // Get the message collection.
   MessageCollection^ myMessageCollection = myServiceDescription->Messages;
   Console::WriteLine( "Total Messages in the document = {0}", myServiceDescription->Messages->Count );
   Console::WriteLine( "" );
   Console::WriteLine( "Enumerating PartCollection for each message..." );
   Console::WriteLine( "" );

   // Get the message part collection for each message.
   for ( int i = 0; i < myMessageCollection->Count; ++i )
   {
      Console::WriteLine( "Message      : {0}", myMessageCollection[ i ]->Name );

      // Get the message part collection.
      MessagePartCollection^ myMessagePartCollection = myMessageCollection[ i ]->Parts;

      // Display the part collection.
      for ( int k = 0; k < myMessagePartCollection->Count; k++ )
      {
         Console::WriteLine( "\t       Part Name     : {0}", myMessagePartCollection[ k ]->Name );
         Console::WriteLine( "\t       Message Name  : {0}", myMessagePartCollection[ k ]->Message->Name );
      }
      Console::WriteLine( "" );
   }

   Console::WriteLine( "MessagePartCollection for the message AddHttpGetIn." );
   Message^ myLocalMessage = myServiceDescription->Messages[ "AddHttpPostOut" ];
   if ( myMessageCollection->Contains( myLocalMessage ) )
   {
      Console::WriteLine( "Message      : {0}", myLocalMessage->Name );

      // Get the message part collection.
      MessagePartCollection^ myMessagePartCollection = myLocalMessage->Parts;
      array<MessagePart^>^myMessagePart = gcnew array<MessagePart^>(myMessagePartCollection->Count);
      
      // Copy the MessagePartCollection to an array.
      myMessagePartCollection->CopyTo( myMessagePart, 0 );
      for ( int k = 0; k < myMessagePart->Length; k++ )
         Console::WriteLine( "\t       Part Name : {0}", myMessagePartCollection[ k ]->Name );
      Console::WriteLine( "" );
   }

   Console::WriteLine( "Checking if message is AddHttpPostOut..." );
   Message^ myMessage = myServiceDescription->Messages[ "AddHttpPostOut" ];
   if ( myMessageCollection->Contains( myMessage ) )
   {
      // Get the mssage part collection.
      MessagePartCollection^ myMessagePartCollection = myMessage->Parts;

      // Get the part named Body.
      MessagePart^ myMessagePart = myMessage->Parts[ "Body" ];
      if ( myMessagePartCollection->Contains( myMessagePart ) )
      {
         // Get the part named Body.
         Console::WriteLine( "Index of Body in MessagePart collection = {0}", myMessagePartCollection->IndexOf( myMessagePart ) );
         Console::WriteLine( "Deleting Body from MessagePart collection..." );
         myMessagePartCollection->Remove( myMessagePart );
         if ( myMessagePartCollection->IndexOf( myMessagePart ) == -1 )
                  Console::WriteLine( "from the message AddHttpPostOut." );
      }
   }
}
using System;
using System.Web.Services.Description;
using System.Collections;
using System.Xml;

class MyClass1
{
   public static void Main()
   {
      Console.WriteLine("");
      Console.WriteLine("MessagePartCollection Sample");
      Console.WriteLine("============================");
      Console.WriteLine("");

      ServiceDescription myServiceDescription =
         ServiceDescription.Read("MathService.wsdl");

      // Get the message collection.
      MessageCollection myMessageCollection = myServiceDescription.Messages;
      Console.WriteLine("Total Messages in the document = " +
         myServiceDescription.Messages.Count);
      Console.WriteLine("");
      Console.WriteLine("Enumerating PartCollection for each message...");
      Console.WriteLine("");
      // Get the message part collection for each message.
      for(int i =0; i < myMessageCollection.Count; ++i)
      {
         Console.WriteLine("Message      : " + myMessageCollection[i].Name);

         // Get the message part collection.
         MessagePartCollection myMessagePartCollection =
            myMessageCollection[i].Parts;

         // Display the part collection.
         for(int k = 0; k < myMessagePartCollection.Count;k++)
         {
            Console.WriteLine("\t       Part Name     : " +
               myMessagePartCollection[k].Name);
            Console.WriteLine("\t       Message Name  : " +
               myMessagePartCollection[k].Message.Name);
         }
         Console.WriteLine("");
      }
      Console.WriteLine("Displaying the array copied from the " +
         "MessagePartCollection for the message AddHttpGetIn.");
      Message myLocalMessage = myServiceDescription.Messages["AddHttpPostOut"];
      if (myMessageCollection.Contains(myLocalMessage))
      {
         Console.WriteLine("Message      : " + myLocalMessage.Name);

         // Get the message part collection.
         MessagePartCollection myMessagePartCollection = myLocalMessage.Parts;
         MessagePart[] myMessagePart  =
            new MessagePart[myMessagePartCollection.Count];

         // Copy the MessagePartCollection to an array.
         myMessagePartCollection.CopyTo(myMessagePart,0);
         for(int k = 0; k < myMessagePart.Length; k++)
         {
            Console.WriteLine("\t       Part Name : " +
               myMessagePartCollection[k].Name);
         }
         Console.WriteLine("");
      }

      Console.WriteLine("Checking if message is AddHttpPostOut...");
      Message myMessage = myServiceDescription.Messages["AddHttpPostOut"];
      if (myMessageCollection.Contains(myMessage))
      {
         // Get the message part collection.
         MessagePartCollection myMessagePartCollection = myMessage.Parts;

         // Get the part named Body.
         MessagePart myMessagePart = myMessage.Parts["Body"];
         if (myMessagePartCollection.Contains(myMessagePart))
         {
            // Get the index of the part named Body.
            Console.WriteLine("Index of Body in MessagePart collection = " +
               myMessagePartCollection.IndexOf(myMessagePart));
            Console.WriteLine("Deleting Body from MessagePart collection...");
            myMessagePartCollection.Remove(myMessagePart);
            if(myMessagePartCollection.IndexOf(myMessagePart)== -1)
            {
               Console.WriteLine("MessagePart Body successfully deleted " +
                  "from the message AddHttpPostOut.");
            }
         }
      }
   }
}
Imports System.Web.Services.Description
Imports System.Collections
Imports System.Xml

Class MyClass1
   Public Shared Sub Main()
      Console.WriteLine("")
      Console.WriteLine("MessagePartCollection Sample")
      Console.WriteLine("============================")
      Console.WriteLine("")

      Dim myServiceDescription As ServiceDescription = _
         ServiceDescription.Read("MathService.wsdl")
      ' Get the message collection.
      Dim myMessageCollection As MessageCollection = _
         myServiceDescription.Messages
      Console.WriteLine("Total Messages in the document = " & _
         myServiceDescription.Messages.Count.ToString)
      Console.WriteLine("")
      Console.WriteLine("Enumerating PartCollection for each message...")
      Console.WriteLine("")
      ' Get the message part collection for each message.
      Dim i As Integer
      For i =0 to myMessageCollection.Count-1
         Console.WriteLine("Message      : " & myMessageCollection(i).Name)

         ' Get the message part collection.
         Dim myMessagePartCollection As MessagePartCollection = _
            myMessageCollection(i).Parts

         ' Display the part collection.
         Dim k As Integer
         For k = 0 To myMessagePartCollection.Count - 1
            Console.WriteLine(ControlChars.Tab & "       Part Name     : " & _
               myMessagePartCollection(k).Name)
            Console.WriteLine(ControlChars.Tab & "       Message Name  : " & _
               myMessagePartCollection(k).Message.Name)
         Next k
         Console.WriteLine("")
      Next
      Console.WriteLine("Displaying the array copied from the " & _
         "MessagePartCollection for the message AddHttpGetIn.")
      Dim myLocalMessage As Message = _
         myServiceDescription.Messages("AddHttpPostOut")
      If myMessageCollection.Contains(myLocalMessage) Then
         Console.WriteLine("Message      : " & myLocalMessage.Name)

         ' Get the message part collection.
         Dim myMessagePartCollection As MessagePartCollection = _
            myLocalMessage.Parts
         Dim myMessagePart(myMessagePartCollection.Count) As MessagePart

         ' Copy the MessagePartCollection to an array.
         myMessagePartCollection.CopyTo(myMessagePart, 0)
         Dim k As Integer
         For k = 0 To myMessagePart.Length - 2
            Console.WriteLine(ControlChars.Tab & "       Part Name : " & _
               myMessagePartCollection(k).Name)
         Next k
         Console.WriteLine("")
      End If

      Console.WriteLine("Checking if message is AddHttpPostOut...")
      Dim myMessage As Message = myServiceDescription.Messages("AddHttpPostOut")
      If myMessageCollection.Contains(myMessage) Then

         ' Get the message part collection.
         Dim myMessagePartCollection As MessagePartCollection = myMessage.Parts

         ' Get the part named Body.
         Dim myMessagePart As MessagePart = myMessage.Parts("Body")
         If myMessagePartCollection.Contains(myMessagePart) Then

            ' Get the index of the part named Body.
            Console.WriteLine("Index of Body in MessagePart collection = " & _
               myMessagePartCollection.IndexOf(myMessagePart).ToString)
            Console.WriteLine("Deleting Body from MessagePart Collection...")
            myMessagePartCollection.Remove(myMessagePart)
            If myMessagePartCollection.IndexOf(myMessagePart) = -1 Then
               Console.WriteLine("MessagePart Body successfully deleted " & _
               "from the message AddHttpPostOut.")
            End If
         End If
      End If
   End Sub
End Class

備註

類別 MessagePart 會對應至 Web 服務描述語言 (WSDL) <part> 元素所 <message> 括住的專案,此元素會接著由根項目括住 <definitions> 。 如需 WSDL 的詳細資訊,請參閱 WSDL 規格。

屬性

Capacity

取得或設定 CollectionBase 可包含的項目數目。

(繼承來源 CollectionBase)
Count

取得 CollectionBase 執行個體中包含的元素數目。 這個屬性無法覆寫。

(繼承來源 CollectionBase)
InnerList

取得包含 ArrayList 執行個體中之元素清單的 CollectionBase

(繼承來源 CollectionBase)
Item[Int32]

取得或設定 MessagePart 的值,於指定的以零起始的索引位置。

Item[String]

取得由其名稱所指定的 MessagePart

List

取得包含 IList 執行個體中之元素清單的 CollectionBase

(繼承來源 CollectionBase)
Table

取得實作 ServiceDescriptionBaseCollection 中索引鍵和數值關聯的介面。

(繼承來源 ServiceDescriptionBaseCollection)

方法

Add(MessagePart)

將指定的 MessagePart 加入至 MessagePartCollection 的結尾。

Clear()

CollectionBase 執行個體移除所有的物件。 無法覆寫這個方法。

(繼承來源 CollectionBase)
Contains(MessagePart)

傳回值,指出指定的 MessagePart 是否為 MessagePartCollection 的成員。

CopyTo(MessagePart[], Int32)

複製整個 MessagePartCollectionMessagePart 型別的相容一維陣列,從目標陣列的指定以零起始的索引位置開始。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetEnumerator()

傳回可逐一查看 CollectionBase 執行個體的列舉值。

(繼承來源 CollectionBase)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetKey(Object)

傳回與以傳址 (By Reference) 方式傳遞的數值相關聯的索引鍵名稱。

(繼承來源 ServiceDescriptionBaseCollection)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
IndexOf(MessagePart)

搜尋指定的 MessagePart,並傳回集合中第一個符合項目之以零起始的索引。

Insert(Int32, MessagePart)

加入指定的 MessagePartMessagePartCollection,於指定的以零起始的索引位置。

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
OnClear()

清除 ServiceDescriptionBaseCollection 執行個體的內容。

(繼承來源 ServiceDescriptionBaseCollection)
OnClearComplete()

在清除 CollectionBase 執行個體的內容後,執行額外的自訂處理序。

(繼承來源 CollectionBase)
OnInsert(Int32, Object)

在將新的元素插入至 CollectionBase 執行個體前,執行額外的自訂處理序。

(繼承來源 CollectionBase)
OnInsertComplete(Int32, Object)

當插入新的項目至 ServiceDescriptionBaseCollection 時,執行額外的自訂處理。

(繼承來源 ServiceDescriptionBaseCollection)
OnRemove(Int32, Object)

ServiceDescriptionBaseCollection 移除項目。

(繼承來源 ServiceDescriptionBaseCollection)
OnRemoveComplete(Int32, Object)

在從 CollectionBase 執行個體移除元素後,執行額外的自訂處理序。

(繼承來源 CollectionBase)
OnSet(Int32, Object, Object)

ServiceDescriptionBaseCollection 內以一個值取代另一個值。

(繼承來源 ServiceDescriptionBaseCollection)
OnSetComplete(Int32, Object, Object)

CollectionBase 執行個體中設定數值後,執行額外的自訂處理序。

(繼承來源 CollectionBase)
OnValidate(Object)

當驗證數值時,執行額外的自訂處理序。

(繼承來源 CollectionBase)
Remove(MessagePart)

MessagePart 中移除指定 MessagePartCollection 的第一個符合項目。

RemoveAt(Int32)

移除 CollectionBase 執行個體之指定索引的元素。 這個方法不可覆寫。

(繼承來源 CollectionBase)
SetParent(Object, Object)

設定 ServiceDescriptionBaseCollection 執行個體的父代 (Parent) 物件。

(繼承來源 ServiceDescriptionBaseCollection)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

明確介面實作

ICollection.CopyTo(Array, Int32)

從目標陣列的指定索引開始,將整個 CollectionBase 複製到相容的一維 Array

(繼承來源 CollectionBase)
ICollection.IsSynchronized

取得值,這個值表示對 CollectionBase 的存取是否同步 (安全執行緒)。

(繼承來源 CollectionBase)
ICollection.SyncRoot

取得可用以同步存取 CollectionBase 的物件。

(繼承來源 CollectionBase)
IList.Add(Object)

將物件加入至 CollectionBase 的末端。

(繼承來源 CollectionBase)
IList.Contains(Object)

判斷 CollectionBase 是否包含特定項目。

(繼承來源 CollectionBase)
IList.IndexOf(Object)

搜尋指定的 Object,並傳回在整個 CollectionBase 中第一個符合項目之以零為起始的索引。

(繼承來源 CollectionBase)
IList.Insert(Int32, Object)

將項目插入至 CollectionBase 中指定的索引位置。

(繼承來源 CollectionBase)
IList.IsFixedSize

取得值,指出 CollectionBase 是否有固定的大小。

(繼承來源 CollectionBase)
IList.IsReadOnly

取得值,指出 CollectionBase 是否唯讀。

(繼承來源 CollectionBase)
IList.Item[Int32]

在指定的索引位置上取得或設定項目。

(繼承來源 CollectionBase)
IList.Remove(Object)

CollectionBase 移除特定物件之第一個符合的元素。

(繼承來源 CollectionBase)

擴充方法

Cast<TResult>(IEnumerable)

IEnumerable 的項目轉換成指定的型別。

OfType<TResult>(IEnumerable)

根據指定的型別來篩選 IEnumerable 的項目。

AsParallel(IEnumerable)

啟用查詢的平行化作業。

AsQueryable(IEnumerable)

IEnumerable 轉換成 IQueryable

適用於

另請參閱