Udostępnij za pośrednictwem


FaultBindingCollection.Insert(Int32, FaultBinding) Metoda

Definicja

Dodaje określony FaultBinding element do określonego FaultBindingCollection indeksu opartego na zera.

public:
 void Insert(int index, System::Web::Services::Description::FaultBinding ^ bindingOperationFault);
public void Insert (int index, System.Web.Services.Description.FaultBinding bindingOperationFault);
member this.Insert : int * System.Web.Services.Description.FaultBinding -> unit
Public Sub Insert (index As Integer, bindingOperationFault As FaultBinding)

Parametry

index
Int32

Indeks oparty na zera, w którym ma być wstawiony bindingOperationFault parametr.

bindingOperationFault
FaultBinding

Element FaultBinding do dodania do kolekcji.

Przykłady

W poniższym przykładzie przedstawiono typowe użycie Insert metody .

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

Uwagi

Jeśli liczba elementów w kolekcji jest już równa pojemności kolekcji, pojemność jest podwojona przez automatyczne cofnięcie przydziału tablicy wewnętrznej przed wstawieniem nowego elementu.

index Jeśli parametr jest równy Count, bindingOperationFault parametr zostanie dodany na końcu FaultBindingCollection.

Elementy po przejściu punktu wstawiania w dół, aby pomieścić nowy element.

Dotyczy