MessagePartCollection 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示 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) |
方法
明確介面實作
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。 |