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