OperationFaultCollection.Remove(OperationFault) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從 OperationFault 中移除指定 OperationFaultCollection 的第一個符合項目。
public:
void Remove(System::Web::Services::Description::OperationFault ^ operationFaultMessage);
public void Remove (System.Web.Services.Description.OperationFault operationFaultMessage);
member this.Remove : System.Web.Services.Description.OperationFault -> unit
Public Sub Remove (operationFaultMessage As OperationFault)
參數
- operationFaultMessage
- OperationFault
要從集合中移除的 OperationFault。
範例
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." );
}
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.");
}
}
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
備註
此方法會執行線性搜尋;因此,平均執行時間會與 Count 成正比。
移除後的專案 OperationFault 會向上移動,以佔用空的現成位置。