共用方式為


OperationFaultCollection 類別

定義

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

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

範例

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

using namespace System;
using namespace System::Web::Services::Description;
int main()
{
   try
   {
      // Read the StockQuote.wsdl file as input.
      ServiceDescription^ myServiceDescription = ServiceDescription::Read( "StockQuote_cpp.wsdl" );

      PortTypeCollection^ myPortTypeCollection = myServiceDescription->PortTypes;
      PortType^ myPortType = myPortTypeCollection[ 0 ];
      OperationCollection^ myOperationCollection = myPortType->Operations;
      Operation^ myOperation = myOperationCollection[ 0 ];
      OperationFaultCollection^ myOperationFaultCollection = myOperation->Faults;

      // Reverse the operation fault order.
      if ( myOperationFaultCollection->Count > 1 )
      {
         OperationFault^ myOperationFault = myOperationFaultCollection[ 0 ];
         array<OperationFault^>^myOperationFaultArray = gcnew array<OperationFault^>(myOperationFaultCollection->Count);

         // Copy the operation fault to a temporary array.
         myOperationFaultCollection->CopyTo( myOperationFaultArray, 0 );

         // Remove all the operation faults from the collection.
         for ( int i = 0; i < myOperationFaultArray->Length; i++ )
            myOperationFaultCollection->Remove( myOperationFaultArray[ i ] );

         // Insert the operation faults in the reverse order.
         for ( int i = 0,j = (myOperationFaultArray->Length - 1); i < myOperationFaultArray->Length; i++,j-- )
            myOperationFaultCollection->Insert( i, myOperationFaultArray[ j ] );
         if ( myOperationFaultCollection->Contains( myOperationFault ) && (myOperationFaultCollection->IndexOf( myOperationFault ) == myOperationFaultCollection->Count - 1) )
                  Console::WriteLine( "Succeeded in reversing the operation faults." );
         else
                  Console::WriteLine( "Error while reversing the faults." );
      }

      BindingCollection^ myBindingCollection = myServiceDescription->Bindings;
      Binding^ myBinding = myBindingCollection[ 0 ];
      OperationBindingCollection^ myOperationBindingCollection = myBinding->Operations;
      OperationBinding^ myOperationBinding = myOperationBindingCollection[ 0 ];
      FaultBindingCollection^ myFaultBindingCollection = myOperationBinding->Faults;

      // Reverse the fault binding order.
      if ( myFaultBindingCollection->Count > 1 )
      {
         FaultBinding^ myFaultBinding = myFaultBindingCollection[ 0 ];
         array<FaultBinding^>^myFaultBindingArray = gcnew array<FaultBinding^>(myFaultBindingCollection->Count);

         // Copy the fault bindings to a temporary array.
         myFaultBindingCollection->CopyTo( myFaultBindingArray, 0 );

         // Remove all the fault bindings.
         for ( int i = 0; i < myFaultBindingArray->Length; i++ )
            myFaultBindingCollection->Remove( myFaultBindingArray[ i ] );

         // Insert the fault bindings in the reverse order.
         for ( int i = 0,j = (myFaultBindingArray->Length - 1); i < myFaultBindingArray->Length; i++,j-- )
            myFaultBindingCollection->Insert( i, myFaultBindingArray[ j ] );

         // Check whether the first element before the reversal 
         // is now the last element.
         if ( myFaultBindingCollection->Contains( myFaultBinding ) && myFaultBindingCollection->IndexOf( myFaultBinding ) == (myFaultBindingCollection->Count - 1) )
         {
            // Write the WSDL generated to a file.
            myServiceDescription->Write( "StockQuoteOut_cpp.wsdl" );
            Console::WriteLine( "The file StockQuoteOut_cpp.wsdl was successfully written" );
         }
         else
            Console::WriteLine( "An error occurred while reversing the input WSDL file." );
      }
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "Exception caught!!!" );
      Console::WriteLine( "Source : {0}", e->Source );
      Console::WriteLine( "Message : {0}", e->Message );
   }
}
using System;
using System.Web.Services.Description;

public class MyOperationFaultCollectionSample
{
   public static void Main()
   {
      try
      {
         // Read the StockQuote.wsdl file as input.
         ServiceDescription myServiceDescription =
            ServiceDescription.Read("StockQuote_cs.wsdl");
         PortTypeCollection myPortTypeCollection =
            myServiceDescription.PortTypes;
         PortType myPortType = myPortTypeCollection[0];
         OperationCollection myOperationCollection = myPortType.Operations;
         Operation myOperation = myOperationCollection[0];
         OperationFaultCollection myOperationFaultCollection =
            myOperation.Faults;

         // Reverse the operation fault order.
         if(myOperationFaultCollection.Count > 1)
         {
            OperationFault myOperationFault = myOperationFaultCollection[0];
            OperationFault[] myOperationFaultArray =
               new OperationFault[myOperationFaultCollection.Count];

            // Copy the operation faults to a temporary array.
            myOperationFaultCollection.CopyTo(myOperationFaultArray, 0);

            // Remove all the operation faults from the collection.
            for(int i = 0; i < myOperationFaultArray.Length; i++)
            {
               myOperationFaultCollection.Remove(myOperationFaultArray[i]);
            }

            // Insert the operation faults in the reverse order.
            for(int i = 0, j = (myOperationFaultArray.Length - 1);
               i < myOperationFaultArray.Length; i++, j--)
            {
               myOperationFaultCollection.Insert(
                  i, myOperationFaultArray[j]);
            }
            if ( myOperationFaultCollection.Contains(myOperationFault) &&
               (myOperationFaultCollection.IndexOf(myOperationFault)
               == myOperationFaultCollection.Count-1))
            {
               Console.WriteLine(
                  "Succeeded in reversing the operation faults.");
            }
            else
            {
               Console.WriteLine("Error while reversing the faults.");
            }
         }
         BindingCollection myBindingCollection =
            myServiceDescription.Bindings;
         Binding myBinding = myBindingCollection[0];
         OperationBindingCollection myOperationBindingCollection =
            myBinding.Operations;
         OperationBinding myOperationBinding =
            myOperationBindingCollection[0];
         FaultBindingCollection myFaultBindingCollection =
            myOperationBinding.Faults;

         // Reverse the fault binding order.
         if(myFaultBindingCollection.Count > 1)
         {
            FaultBinding myFaultBinding = myFaultBindingCollection[0];

            FaultBinding[] myFaultBindingArray =
               new FaultBinding[myFaultBindingCollection.Count];

            // Copy the fault bindings to a temporary array.
            myFaultBindingCollection.CopyTo(myFaultBindingArray, 0);

            // Remove all the fault bindings.
            for(int i = 0; i < myFaultBindingArray.Length; i++)
            {
               myFaultBindingCollection.Remove(myFaultBindingArray[i]);
            }

            // Insert the fault bindings in the reverse order.
            for(int i = 0, j = (myFaultBindingArray.Length - 1);
               i < myFaultBindingArray.Length; i++, j--)
            {
               myFaultBindingCollection.Insert(i, myFaultBindingArray[j]);
            }

            // Check whether the first element before the reversal
            // is now the last element.
            if(myFaultBindingCollection.Contains(myFaultBinding) &&
               myFaultBindingCollection.IndexOf(myFaultBinding) ==
               (myFaultBindingCollection.Count - 1))
            {
               // Write the WSDL generated to a file.
               myServiceDescription.Write("StockQuoteOut_cs.wsdl");
               Console.WriteLine(
                  "The file StockQuoteOut_cs.wsdl was successfully written.");
            }
            else
            {
               Console.WriteLine(
                  "An error occurred while reversing the input WSDL file.");
            }
         }
      }
      catch(Exception e)
      {
         Console.WriteLine("Exception caught!!!");
         Console.WriteLine("Source : " + e.Source);
         Console.WriteLine("Message : " + e.Message);
      }
   }
}
Imports System.Web.Services.Description

Public Class MyOperationFaultCollectionSample
   
   Public Shared Sub Main()
      Try
         ' Read the StockQuote.wsdl file as input.
         Dim myServiceDescription As ServiceDescription = _
            ServiceDescription.Read("StockQuote_vb.wsdl")
         Dim myPortTypeCollection As PortTypeCollection = _
            myServiceDescription.PortTypes
         Dim myPortType As PortType = myPortTypeCollection(0)
         Dim myOperationCollection As OperationCollection = _
            myPortType.Operations
         Dim myOperation As Operation = myOperationCollection(0)
         Dim myOperationFaultCollection As OperationFaultCollection = _
            myOperation.Faults

         ' Reverse the operation fault order.
         If myOperationFaultCollection.Count > 1 Then
            Dim myOperationFault As OperationFault = _
               myOperationFaultCollection(0)
            Dim myOperationFaultArray(myOperationFaultCollection.Count -1 ) _
               As OperationFault

            ' Copy the operation faults to a temporary array.
            myOperationFaultCollection.CopyTo(myOperationFaultArray, 0)

            ' Remove all the operation faults from the collection.
            Dim i As Integer
            For i = 0 To myOperationFaultArray.Length - 1
               myOperationFaultCollection.Remove(myOperationFaultArray(i))
            Next i

            ' Insert the operation faults in the reverse order.
            Dim j As Integer = myOperationFaultArray.Length - 1
            i = 0
            While i < myOperationFaultArray.Length
               myOperationFaultCollection.Insert(i, myOperationFaultArray(j))
               i += 1
               j -= 1
            End While
            If myOperationFaultCollection.Contains(myOperationFault) And _
               myOperationFaultCollection.IndexOf(myOperationFault) = _
               myOperationFaultCollection.Count - 1 Then
               Console.WriteLine("Succeeded in reversing the operation faults.")
            Else
               Console.WriteLine("Error while reversing the faults.")
            End If
         End If
         Dim myBindingCollection As BindingCollection = _
            myServiceDescription.Bindings
         Dim myBinding As Binding = myBindingCollection(0)
         Dim myOperationBindingCollection As OperationBindingCollection = _
            myBinding.Operations
         Dim myOperationBinding As OperationBinding = _
            myOperationBindingCollection(0)
         Dim myFaultBindingCollection As FaultBindingCollection = _
            myOperationBinding.Faults
         
         ' Reverse the fault binding order.
         If myFaultBindingCollection.Count > 1 Then
            Dim myFaultBinding As FaultBinding = myFaultBindingCollection(0)
            
            Dim myFaultBindingArray(myFaultBindingCollection.Count -1 ) _
               As FaultBinding

            ' Copy the fault bindings to a temporary array.
            myFaultBindingCollection.CopyTo(myFaultBindingArray, 0)
            
            ' Remove all the fault bindings.
            Dim i As Integer
            For i = 0 To myFaultBindingArray.Length - 1
               myFaultBindingCollection.Remove(myFaultBindingArray(i))
            Next i

            Dim j As Integer = myFaultBindingArray.Length - 1
            i = 0

            ' Insert the fault bindings in the reverse order.
            While i < myFaultBindingArray.Length
               myFaultBindingCollection.Insert(i, myFaultBindingArray(j))
               i += 1
               j -= 1
            End While
 
            ' Check whether the first element before the reversal 
            ' is now the last element.
            If myFaultBindingCollection.Contains(myFaultBinding) And _
               myFaultBindingCollection.IndexOf(myFaultBinding) = _
               myFaultBindingCollection.Count - 1 Then

               ' Write the WSDL generated to a file.
               myServiceDescription.Write("StockQuoteOut_vb.wsdl")
               Console.WriteLine( _
                  "The file StockQuoteOut_vb.wsdl was successfully written.")
            Else
               Console.WriteLine( _
                  "An Error occurred while reversing the input WSDL file.")
            End If
         End If
      Catch e As Exception
         Console.WriteLine("Exception caught!!!")
         Console.WriteLine("Source : " & e.Source.ToString())
         Console.WriteLine("Message : " & e.Message.ToString())
      End Try
   End Sub
End Class

備註

類別 OperationFault 會對應至 Web 服務描述語言 (WSDL) <fault> 元素所括 <operation> 住的專案,而該元素會接著被元素括住 <portType> 。 如需 WSDL 的詳細資訊,請參閱 WSDL 規格。

屬性

Capacity

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

(繼承來源 CollectionBase)
Count

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

(繼承來源 CollectionBase)
InnerList

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

(繼承來源 CollectionBase)
Item[Int32]

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

Item[String]

根據其名稱取得 OperationFault

List

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

(繼承來源 CollectionBase)
Table

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

(繼承來源 ServiceDescriptionBaseCollection)

方法

Add(OperationFault)

將指定的 OperationFault 加入至 OperationFaultCollection 的結尾。

Clear()

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

(繼承來源 CollectionBase)
Contains(OperationFault)

傳回值,指出指定的 OperationFault 是否為 OperationFaultCollection 的成員。

CopyTo(OperationFault[], Int32)

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

Equals(Object)

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

(繼承來源 Object)
GetEnumerator()

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

(繼承來源 CollectionBase)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetKey(Object)

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

(繼承來源 ServiceDescriptionBaseCollection)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
IndexOf(OperationFault)

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

Insert(Int32, OperationFault)

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

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

OperationFault 中移除指定 OperationFaultCollection 的第一個符合項目。

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

適用於