This documentation is archived and is not being maintained.

PortCollection.Remove Method

Removes the first occurrence of the specified Port from the PortCollection.

[Visual Basic]
Public Sub Remove( _
   ByVal port As Port _
)
[C#]
public void Remove(
 Port port
);
[C++]
public: void Remove(
 Port* port
);
[JScript]
public function Remove(
   port : Port
);

Parameters

port
The Port to remove from the collection.

Remarks

This method performs a linear search; therefore, the average execution time is proportional to Count.

The elements that follow the removed Port move up to occupy the vacated spot.

Example

[Visual Basic] 
Dim myService As Service
Dim myPortCollection As PortCollection

Dim myServiceDescription As ServiceDescription = _
   ServiceDescription.Read("MathServiceItem_vb.wsdl")

Console.WriteLine("Total number of services : " & _
   myServiceDescription.Services.Count.ToString)

Dim i As Integer
For i = 0 to myServiceDescription.Services.Count - 1
   myService = myServiceDescription.Services(i)
   Console.WriteLine("Name : " & myService.Name)

   myPortCollection = myService.Ports

   ' Create an array of ports.
   Console.WriteLine(ControlChars.NewLine & "Port collection :")
   Dim i1 As Integer
   For i1 = 0 to myService.Ports.Count - 1
      Console.WriteLine("Port[" & i1.ToString & "] : " & _
         myPortCollection(i1).Name)
   Next
   Dim strPort As String = myPortCollection(0).Name
   Dim myPort As Port = myPortCollection(strPort)
   Console.WriteLine(ControlChars.NewLine & _
      "Index of Port[" & strPort & "] : " & _
      myPortCollection.IndexOf(myPort).ToString)

   Dim myPortTestRemove As Port = myPortCollection(0)

   Console.WriteLine(ControlChars.NewLine & _
      "Total number of ports before removing " & _
      "a port '" & myPortTestRemove.Name & "' is : " & _
      myService.Ports.Count.ToString)
   myPortCollection.Remove(myPortTestRemove)
   Console.WriteLine("Total number of ports after removing " & _
      "a port '" & myPortTestRemove.Name & "' is : " & _
      myService.Ports.Count.ToString)

   ' Create the WSDL file.
   myPortCollection.Insert(0, myPortTestRemove)
   myServiceDescription.Write("MathServiceItemNew_vb.wsdl")
Next

[C#] 
Service myService;
PortCollection myPortCollection;

ServiceDescription myServiceDescription =
   ServiceDescription.Read("MathServiceItem_cs.wsdl");

Console.WriteLine("Total number of services : "
   + myServiceDescription.Services.Count);

for(int i=0; i < myServiceDescription.Services.Count; ++i)
{
   myService = myServiceDescription.Services[i];
   Console.WriteLine("Name : " + myService.Name);

   myPortCollection = myService.Ports;

   // Create an array of ports.
   Console.WriteLine("\nPort collection :");
   for(int i1=0 ; i1 < myService.Ports.Count ; ++i1)
   {
      Console.WriteLine("Port[" + i1+"] : " +
         myPortCollection[i1].Name);
   }

   string strPort = myPortCollection[0].Name;
   Port myPort = myPortCollection[strPort];
   Console.WriteLine("\nIndex of Port[" + strPort + "] : " +
      myPortCollection.IndexOf(myPort));


   Port myPortTestRemove = myPortCollection[0];

   Console.WriteLine("\nTotal number of ports before removing "
      + "a port '" + myPortTestRemove.Name +"' is : "
      + myService.Ports.Count);

   myPortCollection.Remove(myPortTestRemove);

   Console.WriteLine("Total number of ports after removing "
      + "a port '" + myPortTestRemove.Name +"' is : "
      + myService.Ports.Count);

   // Create the WSDL file.
   myPortCollection.Insert(0, myPortTestRemove);
   myServiceDescription.Write("MathServiceItemNew_cs.wsdl");

[C++] 
Service* myService;
PortCollection* myPortCollection;

ServiceDescription* myServiceDescription =
   ServiceDescription::Read(S"MathServiceItem_cs.wsdl");

Console::WriteLine(S"Total number of services : {0}", __box(myServiceDescription->Services->Count));

for(int i=0; i < myServiceDescription->Services->Count; ++i)
{
   myService = myServiceDescription->Services->Item[i];
   Console::WriteLine(S"Name : {0}", myService->Name);

   myPortCollection = myService->Ports;

   // Create an array of ports.
   Console::WriteLine(S"\nPort collection :");
   for(int i1=0 ; i1 < myService->Ports->Count ; ++i1)
   {
      Console::WriteLine(S"Port[{0}] : {1}", __box(i1), myPortCollection->Item[i1]->Name);
   }

   String* strPort = myPortCollection->Item[0]->Name;
   Port* myPort = myPortCollection->Item[strPort];
   Console::WriteLine(S"\nIndex of Port[{0}] : {1}", strPort, __box(myPortCollection->IndexOf(myPort)));


   Port* myPortTestRemove = myPortCollection->Item[0];

   Console::WriteLine(S"\nTotal number of ports before removing a port '{0}' is : {1}", myPortTestRemove->Name, __box(myService->Ports->Count));

   myPortCollection->Remove(myPortTestRemove);

   Console::WriteLine(S"Total number of ports after removing a port '{0}' is : {1}", myPortTestRemove->Name, __box(myService->Ports->Count));

   // Create the WSDL file.
   myPortCollection->Insert(0, myPortTestRemove);
   myServiceDescription->Write(S"MathServiceItemNew_cs.wsdl");

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

PortCollection Class | PortCollection Members | System.Web.Services.Description Namespace

Show: