Freigeben über


FaultBindingCollection.CopyTo(FaultBinding[], Int32) Methode

Definition

Kopiert die gesamte FaultBindingCollection in ein kompatibles eindimensionales Array vom Typ FaultBinding, wobei am angegebenen nullbasierten Index des Zielarrays begonnen wird.

public:
 void CopyTo(cli::array <System::Web::Services::Description::FaultBinding ^> ^ array, int index);
public void CopyTo (System.Web.Services.Description.FaultBinding[] array, int index);
member this.CopyTo : System.Web.Services.Description.FaultBinding[] * int -> unit
Public Sub CopyTo (array As FaultBinding(), index As Integer)

Parameter

array
FaultBinding[]

Ein Array vom Typ FaultBinding, das als Ziel des Kopiervorgangs fungiert.

index
Int32

Der nullbasierte Index, an dem mit dem Platzieren der kopierten Auflistung begonnen werden soll.

Beispiele

Im folgenden Beispiel wird eine typische Verwendung der CopyTo Methode veranschaulicht.

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

// Reverse the fault bindings 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 binding instances in the fault binding collection.
   for ( int i = 0; i < myFaultBindingArray->Length; i++ )
      myFaultBindingCollection->Remove( myFaultBindingArray[ i ] );
   
   // Insert the fault binding instance in the reverse order.
   for ( int i = 0,j = (myFaultBindingArray->Length - 1); i < myFaultBindingArray->Length; i++,j-- )
      myFaultBindingCollection->Insert( i, myFaultBindingArray[ j ] );
   
   // Check if the first element in the collection before the reversal is now the last element.
   if ( myFaultBindingCollection->Contains( myFaultBinding ) && myFaultBindingCollection->IndexOf( myFaultBinding ) == (myFaultBindingCollection->Count - 1) )
         
   // Display the WSDL generated to the console.
   myServiceDescription->Write( Console::Out );
   else
         Console::WriteLine( "Error while reversing" );
}

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

// Reverse the fault bindings 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 binding instances in the fault binding collection.
   for(int i = 0; i < myFaultBindingArray.Length; i++)
      myFaultBindingCollection.Remove(myFaultBindingArray[i]);

   // Insert the fault binding instance in the reverse order.
   for(int i = 0, j = (myFaultBindingArray.Length - 1); i < myFaultBindingArray.Length; i++, j--)
      myFaultBindingCollection.Insert(i, myFaultBindingArray[j]);
   // Check if the first element in the collection before the reversal is now the last element.
   if(myFaultBindingCollection.Contains(myFaultBinding) &&
      myFaultBindingCollection.IndexOf(myFaultBinding) == (myFaultBindingCollection.Count - 1))
      // Display the WSDL generated to the console.
      myServiceDescription.Write(Console.Out);
   else
      Console.WriteLine("Error while reversing");
}
      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 bindings 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 binding instances in the fault binding collection.
         Dim i, j As Integer

         For i = 0 To myFaultBindingArray.Length - 1
            myFaultBindingCollection.Remove(myFaultBindingArray(i))
         Next i

         j = myFaultBindingArray.Length - 1
         For i = 0 To myFaultBindingArray.Length - 1
            myFaultBindingCollection.Insert(i, myFaultBindingArray(j))
            j = j - 1
         Next

         If myFaultBindingCollection.Contains(myFaultBinding) And myFaultBindingCollection.IndexOf(myFaultBinding) = myFaultBindingCollection.Count - 1 Then
            ' Display the WSDL generated to the console.
            myServiceDescription.Write(Console.Out)
         Else
            Console.WriteLine("Error while reversing")
         End If
      End If
   End Sub

End Class

Gilt für