FaultBindingCollection.Remove(FaultBinding) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Removes the first occurrence the specified FaultBinding from the FaultBindingCollection.
public:
void Remove(System::Web::Services::Description::FaultBinding ^ bindingOperationFault);
public void Remove (System.Web.Services.Description.FaultBinding bindingOperationFault);
member this.Remove : System.Web.Services.Description.FaultBinding -> unit
Public Sub Remove (bindingOperationFault As FaultBinding)
Parameters
- bindingOperationFault
- FaultBinding
The FaultBinding to remove from the collection.
Examples
The following example demonstrates a typical use of the Remove
method.
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
Remarks
This method performs a linear search; therefore, the average execution time is proportional to Count.
The elements that follow the removed FaultBinding move up to occupy the vacated spot.