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类对应于由元素反过来括起来的元素所封闭的 <fault> Web 服务描述语言 (WSDL) <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)

将整个对象 OperationFaultCollection 复制到一 OperationFault个兼容的一维数组,从目标数组的指定从零开始的索引处开始。

Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
GetEnumerator()

返回循环访问实例的 CollectionBase 枚举数。

(继承自 CollectionBase)
GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetKey(Object)

返回与引用传递的值关联的键的名称。

(继承自 ServiceDescriptionBaseCollection)
GetType()

获取当前实例的 Type

(继承自 Object)
IndexOf(OperationFault)

搜索指定的 OperationFault 并返回集合中第一个匹配项的从零开始的索引。

Insert(Int32, OperationFault)

将指定的 OperationFault 索引添加到 OperationFaultCollection 指定的从零开始的索引处。

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)

中移除指定的第一个匹配项。

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)

扩展方法

名称 说明
AsParallel(IEnumerable)

启用查询的并行化。

AsQueryable(IEnumerable)

IEnumerable 转换为 IQueryable

Cast<TResult>(IEnumerable)

IEnumerable 的元素强制转换为指定类型。

OfType<TResult>(IEnumerable)

根据指定类型筛选 IEnumerable 的元素。

适用于