PortCollection.Remove(Port) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从 Port 中移除指定的 PortCollection 的第一个匹配项。
public:
void Remove(System::Web::Services::Description::Port ^ port);
public void Remove (System.Web.Services.Description.Port port);
member this.Remove : System.Web.Services.Description.Port -> unit
Public Sub Remove (port As Port)
参数
示例
Service^ myService;
PortCollection^ myPortCollection;
ServiceDescription^ myServiceDescription = ServiceDescription::Read( "MathServiceItem_cs.wsdl" );
Console::WriteLine( "Total number of services : {0}", myServiceDescription->Services->Count );
for ( int i = 0; i < myServiceDescription->Services->Count; ++i )
{
myService = myServiceDescription->Services[ i ];
Console::WriteLine( "Name : {0}", 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[{0}] : {1}", i1, myPortCollection[ i1 ]->Name );
}
String^ strPort = myPortCollection[ 0 ]->Name;
Port^ myPort = myPortCollection[ strPort ];
Console::WriteLine( "\nIndex of Port[{0}] : {1}", strPort, myPortCollection->IndexOf( myPort ) );
Port^ myPortTestRemove = myPortCollection[ 0 ];
Console::WriteLine( "\nTotal number of ports before removing a port '{0}' is : {1}", myPortTestRemove->Name, myService->Ports->Count );
myPortCollection->Remove( myPortTestRemove );
Console::WriteLine( "Total number of ports after removing a port '{0}' is : {1}", myPortTestRemove->Name, myService->Ports->Count );
// Create the WSDL file.
myPortCollection->Insert( 0, myPortTestRemove );
myServiceDescription->Write( "MathServiceItemNew_cs.wsdl" );
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");
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
注解
此方法执行线性搜索;因此,平均执行时间与 Count成正比。
删除 Port 后的元素会向上移动,以占用空位。