MessagePartCollection 类  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示 MessagePart 类的实例的集合。 此类不能被继承。
public ref class MessagePartCollection sealed : System::Web::Services::Description::ServiceDescriptionBaseCollectionpublic sealed class MessagePartCollection : System.Web.Services.Description.ServiceDescriptionBaseCollectiontype MessagePartCollection = class
    inherit ServiceDescriptionBaseCollectionPublic 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) | 
方法
显式接口实现
| 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。 |