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 соответствует элементу 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)

Полностью копирует коллекцию MessagePartCollection в совместимый одномерный массив типа MessagePart начиная с указанного индекса (отсчитываемого с нуля) в целевом массиве.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetEnumerator()

Возвращает перечислитель, перебирающий элементы экземпляра класса CollectionBase.

(Унаследовано от CollectionBase)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetKey(Object)

Возвращает имя ключа, которое сопоставлено переданному по ссылке значению.

(Унаследовано от ServiceDescriptionBaseCollection)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
IndexOf(MessagePart)

Осуществляет поиск указанного объекта MessagePart и возвращает отсчитываемый с нуля индекс его первого вхождения в коллекцию.

Insert(Int32, MessagePart)

Добавляет заданный объект MessagePart в коллекцию MessagePartCollection по указанному индексу (отсчитываемому с нуля).

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.

(Унаследовано от 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.

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

См. также раздел