Freigeben über


ServiceDescriptionFormatExtensionCollection-Klasse

Stellt die Auflistung der durch den XML-Webdienst verwendeten Erweiterbarkeitselemente dar. Diese Klasse kann nicht geerbt werden.

Namespace: System.Web.Services.Description
Assembly: System.Web.Services (in system.web.services.dll)

Syntax

'Declaration
Public NotInheritable Class ServiceDescriptionFormatExtensionCollection
    Inherits ServiceDescriptionBaseCollection
'Usage
Dim instance As ServiceDescriptionFormatExtensionCollection
public sealed class ServiceDescriptionFormatExtensionCollection : ServiceDescriptionBaseCollection
public ref class ServiceDescriptionFormatExtensionCollection sealed : public ServiceDescriptionBaseCollection
public final class ServiceDescriptionFormatExtensionCollection extends ServiceDescriptionBaseCollection
public final class ServiceDescriptionFormatExtensionCollection extends ServiceDescriptionBaseCollection

Hinweise

Diese Auflistung kann Instanzen von Klassen enthalten, die von ServiceDescriptionFormatExtension abgeleitet werden, bzw. Instanzen der XmlElement-Klasse. In einer abgeleiteten Klasse können Benutzer unter Verwendung der ServiceDescriptionFormatExtension-Klasse zusätzlich zu den in der WSDL-Spezifikation (Web Services Description Language) definierten Erweiterbarkeitselementen weitere Erweiterbarkeitselemente definieren. Verwenden Sie diese in Ihrer ServiceDescriptionFormatExtensionCollection, wenn Sie im Voraus wissen, welchen Typ von Erweiterbarkeitselement Sie erstellen möchten. Wenn Sie das Format eines Elements nicht im Voraus kennen, verwenden Sie ein XmlElement.

Beispiel

Imports System
Imports System.Web.Services.Description
Imports System.Collections


Class MyFormatExtension
   Inherits ServiceDescriptionFormatExtension
   
   Public Sub New()
      ' Set the properties.
      Me.Handled = True
      Me.Required = True
   End Sub 'New
End Class 'MyFormatExtension

Class myCollectionSample
   
   Shared Sub Main()
      Try
         Dim myServiceDescription As ServiceDescription = _
                 ServiceDescription.Read("Sample_VB.wsdl")
         Dim myCollection As New ServiceDescriptionFormatExtensionCollection(myServiceDescription)
         Dim mySoapBinding1 As New SoapBinding()
         Dim mySoapBinding2 As New SoapBinding()
         Dim mySoapAddressBinding As New SoapAddressBinding()
         Dim myFormatExtensionObject As New MyFormatExtension()
         ' Add elements to collection.
         myCollection.Add(mySoapBinding1)
         myCollection.Add(mySoapAddressBinding)
         myCollection.Add(mySoapBinding2)
         myCollection.Add(myFormatExtensionObject)
         Console.WriteLine("Collection contains following types of elements: ")
         ' Display the 'Type' of the elements in collection.
         Dim i As Integer
         For i = 0 To myCollection.Count - 1
            Console.WriteLine(myCollection(i).GetType().ToString())
         Next i
         ' Check element of type 'SoapAddressBinding' in collection.
         Dim myObj As Object = myCollection.Find(mySoapAddressBinding.GetType())
         If myObj Is Nothing Then
            Console.WriteLine("Element of type '{0}' not found in collection.", _
                 mySoapAddressBinding.GetType().ToString())
         Else
            Console.WriteLine("Element of type '{0}' found in collection.", _
                 mySoapAddressBinding.GetType().ToString())
         End If
         ' Check all elements of type 'SoapBinding' in collection.
         Dim myObjectArray1(myCollection.Count -1 ) As Object
         myObjectArray1 = myCollection.FindAll(mySoapBinding1.GetType())
         Dim myNumberOfElements As Integer = 0
         Dim myIEnumerator As IEnumerator = myObjectArray1.GetEnumerator()
         
         ' Calculate number of elements of type 'SoapBinding'.
         While myIEnumerator.MoveNext()
            If mySoapBinding1.GetType() Is  myIEnumerator.Current.GetType() Then
               myNumberOfElements += 1
            End If
         End While
         Console.WriteLine("Collection contains {0} objects of type '{1}'.", _
                 myNumberOfElements.ToString(), mySoapBinding1.GetType().ToString())
         ' Check 'IsHandled' status for 'myFormatExtensionObject' object in collection.
         Console.WriteLine("'IsHandled' status for {0} object is {1}.", _
                 myFormatExtensionObject.ToString(), _
                 myCollection.IsHandled(myFormatExtensionObject).ToString())
         ' Check 'IsRequired' status for 'myFormatExtensionObject' object in collection.
         Console.WriteLine("'IsRequired' status for {0} object is {1}.", _
                 myFormatExtensionObject.ToString(), _
                 myCollection.IsRequired(myFormatExtensionObject).ToString())
         ' Copy elements of collection to an Object array.
         Dim myObjectArray2(myCollection.Count -1 ) As Object
         myCollection.CopyTo(myObjectArray2, 0)
         Console.WriteLine("Collection elements are copied to an object array.")
         ' Check for 'myFormatExtension' object in collection.
         If myCollection.Contains(myFormatExtensionObject) Then
            ' Get index of a 'myFormatExtension' object in collection.
            Console.WriteLine("Index of 'myFormatExtensionObject' is " + _
                 "{0} in collection.", myCollection.IndexOf(myFormatExtensionObject).ToString())
            ' Remove 'myFormatExtensionObject' element from collection.
            myCollection.Remove(myFormatExtensionObject)
            Console.WriteLine("'myFormatExtensionObject' is removed" + _
                 " from collection.")
         End If
         ' Insert 'MyFormatExtension' object.
         myCollection.Insert(0, myFormatExtensionObject)
         Console.WriteLine("'myFormatExtensionObject' is inserted to collection.")
      Catch e As Exception
         Console.WriteLine("The following exception was raised: {0}", e.Message.ToString())
      End Try
   End Sub 'Main
End Class 'myCollectionSample
using System;
using System.Web.Services.Description;
using System.Collections;

class MyFormatExtension : ServiceDescriptionFormatExtension 
{
   public MyFormatExtension()
   {
      // Set the properties.
      this.Handled  = true;
      this.Required = true;
   }
}
class myCollectionSample
{
   static void Main()
   {
      try
      {
         ServiceDescription myServiceDescription = 
            ServiceDescription.Read("Sample_CS.wsdl");
         ServiceDescriptionFormatExtensionCollection  myCollection = 
            new ServiceDescriptionFormatExtensionCollection(myServiceDescription);
         SoapBinding mySoapBinding1 = new SoapBinding();
         SoapBinding mySoapBinding2 = new SoapBinding();
         SoapAddressBinding mySoapAddressBinding = new SoapAddressBinding();
         MyFormatExtension  myFormatExtensionObject = new MyFormatExtension();
         // Add elements to collection.
         myCollection.Add(mySoapBinding1);
         myCollection.Add(mySoapAddressBinding);
         myCollection.Add(mySoapBinding2);
         myCollection.Add(myFormatExtensionObject);
         Console.WriteLine("Collection contains following types of elements: ");
         // Display the 'Type' of the elements in collection.
         for(int i = 0;i< myCollection.Count;i++) 
         {
            Console.WriteLine(myCollection[i].GetType().ToString()); 
         }
         // Check element of type 'SoapAddressBinding' in collection.
         Object   myObj = myCollection.Find(mySoapAddressBinding.GetType());
         if(myObj == null)
         {
            Console.WriteLine("Element of type '{0}' not found in collection.",
               mySoapAddressBinding.GetType().ToString());
         }
         else
         {
            Console.WriteLine("Element of type '{0}' found in collection.",
               mySoapAddressBinding.GetType().ToString());
         }
         // Check all elements of type 'SoapBinding' in collection.
         Object[] myObjectArray1 = new Object[myCollection.Count];
         myObjectArray1 = myCollection.FindAll(mySoapBinding1.GetType());
         int myNumberOfElements = 0;
         IEnumerator myIEnumerator  = myObjectArray1.GetEnumerator();
         
         // Calculate number of elements of type 'SoapBinding'.
         while(myIEnumerator.MoveNext())
         {
            if(mySoapBinding1.GetType() == myIEnumerator.Current.GetType())
               myNumberOfElements++;
         }
         Console.WriteLine("Collection contains {0} objects of type '{1}'.", 
                           myNumberOfElements.ToString(),
                           mySoapBinding1.GetType().ToString());
         // Check 'IsHandled' status for 'myFormatExtensionObject' object in collection.
         Console.WriteLine("'IsHandled' status for {0} object is {1}.",
                  myFormatExtensionObject.ToString(), 
                  myCollection.IsHandled(myFormatExtensionObject).ToString());
         // Check 'IsRequired' status for 'myFormatExtensionObject' object in collection.
         Console.WriteLine("'IsRequired' status for {0} object is {1}.",
                  myFormatExtensionObject.ToString(),
                  myCollection.IsRequired(myFormatExtensionObject).ToString());
         // Copy elements of collection to an Object array.
         Object[] myObjectArray2 = new Object[myCollection.Count];
         myCollection.CopyTo(myObjectArray2,0);
         Console.WriteLine("Collection elements are copied to an object array.");
         // Check for 'myFormatExtension' object in collection.
         if(myCollection.Contains(myFormatExtensionObject))
         {
            // Get index of a 'myFormatExtension' object in collection.
            Console.WriteLine("Index of 'myFormatExtensionObject' is "+
               "{0} in collection.",
               myCollection.IndexOf(myFormatExtensionObject).ToString());
            // Remove 'myFormatExtensionObject' element from collection.
            myCollection.Remove(myFormatExtensionObject);
            Console.WriteLine("'myFormatExtensionObject' is removed"+
                              " from collection.");
         }
         // Insert 'MyFormatExtension' object.
         myCollection.Insert(0,myFormatExtensionObject);
         Console.WriteLine("'myFormatExtensionObject' is inserted to collection.");

      }
      catch(Exception e)
      {
         Console.WriteLine("The following exception was raised: {0}", e.Message);
      }
   }
}
#using <System.Web.Services.dll>
#using <System.Xml.dll>

using namespace System;
using namespace System::Web::Services::Description;
using namespace System::Collections;

ref class MyFormatExtension: public ServiceDescriptionFormatExtension
{
public:
   MyFormatExtension()
   {
      // Set the properties.
      this->Handled = true;
      this->Required = true;
   }
};

int main()
{
   try
   {
      ServiceDescription^ myServiceDescription = ServiceDescription::Read( "Sample_cpp.wsdl" );
      ServiceDescriptionFormatExtensionCollection^ myCollection = gcnew ServiceDescriptionFormatExtensionCollection( myServiceDescription );

      SoapBinding^ mySoapBinding1 = gcnew SoapBinding;
      SoapBinding^ mySoapBinding2 = gcnew SoapBinding;
      SoapAddressBinding^ mySoapAddressBinding = gcnew SoapAddressBinding;
      MyFormatExtension^ myFormatExtensionObject = gcnew MyFormatExtension;

      // Add elements to collection.
      myCollection->Add( mySoapBinding1 );
      myCollection->Add( mySoapAddressBinding );
      myCollection->Add( mySoapBinding2 );
      myCollection->Add( myFormatExtensionObject );

      Console::WriteLine( "Collection contains following types of elements: " );
      
      // Display the 'Type' of the elements in collection.
      for ( int i = 0; i < myCollection->Count; i++ )
         Console::WriteLine( myCollection[ i ]->GetType() );

      // Check element of type 'SoapAddressBinding' in collection.
      Object^ myObj = myCollection->Find( mySoapAddressBinding->GetType() );
      if ( myObj == nullptr )
            Console::WriteLine( "Element of type ' {0}' not found in collection.", mySoapAddressBinding->GetType() );
      else
            Console::WriteLine( "Element of type ' {0}' found in collection.", mySoapAddressBinding->GetType() );

      // Check all elements of type 'SoapBinding' in collection.
      array<Object^>^myObjectArray1 = gcnew array<Object^>(myCollection->Count);
      myObjectArray1 = myCollection->FindAll( mySoapBinding1->GetType() );
      int myNumberOfElements = 0;
      IEnumerator^ myIEnumerator = myObjectArray1->GetEnumerator();

      // Calculate number of elements of type 'SoapBinding'.
      while ( myIEnumerator->MoveNext() )
            if ( mySoapBinding1->GetType() == myIEnumerator->Current->GetType() )
            myNumberOfElements++;
      Console::WriteLine( "Collection contains {0} objects of type ' {1}'.", myNumberOfElements, mySoapBinding1->GetType() );

      // Check 'IsHandled' status for 'myFormatExtensionObject' object in collection.
      Console::WriteLine( "'IsHandled' status for {0} object is {1}.", myFormatExtensionObject, myCollection->IsHandled( myFormatExtensionObject ) );

      // Check 'IsRequired' status for 'myFormatExtensionObject' object in collection.
      Console::WriteLine( "'IsRequired' status for {0} object is {1}.", myFormatExtensionObject, myCollection->IsRequired( myFormatExtensionObject ) );

      // Copy elements of collection to an Object array.
      array<Object^>^myObjectArray2 = gcnew array<Object^>(myCollection->Count);
      myCollection->CopyTo( myObjectArray2, 0 );
      Console::WriteLine( "Collection elements are copied to an object array." );

      // Check for 'myFormatExtension' object in collection.
      if ( myCollection->Contains( myFormatExtensionObject ) )
      {
         // Get index of a 'myFormatExtension' object in collection.
         Console::WriteLine( "Index of 'myFormatExtensionObject' is {0} in collection.", myCollection->IndexOf( myFormatExtensionObject ) );

         // Remove 'myFormatExtensionObject' element from collection.
         myCollection->Remove( myFormatExtensionObject );
         Console::WriteLine( "'myFormatExtensionObject' is removed  from collection." );
      }

      // Insert 'MyFormatExtension' object.
      myCollection->Insert( 0, myFormatExtensionObject );
      Console::WriteLine( "'myFormatExtensionObject' is inserted to collection." );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "The following exception was raised: {0}", e->Message );
   }
}
import System.*;
import System.Web.Services.Description.*;
import System.Collections.*;

class MyFormatExtension extends ServiceDescriptionFormatExtension
{
    public MyFormatExtension()
    {
        // Set the properties.
        this.set_Handled(true);
        this.set_Required(true);
    } //MyFormatExtension
} //MyFormatExtension

class myCollectionSample
{
    public static void main(String[] args)
    {
        try {
            ServiceDescription myServiceDescription = 
                ServiceDescription.Read("Sample_JSL.wsdl");
            ServiceDescriptionFormatExtensionCollection myCollection = 
                new ServiceDescriptionFormatExtensionCollection(
                myServiceDescription);
            
            SoapBinding mySoapBinding1 = new SoapBinding();
            SoapBinding mySoapBinding2 = new SoapBinding();
            SoapAddressBinding mySoapAddressBinding = new SoapAddressBinding();
            MyFormatExtension myFormatExtensionObject = new MyFormatExtension();
            
            // Add elements to collection.
            myCollection.Add(mySoapBinding1);
            myCollection.Add(mySoapAddressBinding);
            myCollection.Add(mySoapBinding2);
            myCollection.Add(myFormatExtensionObject);
            
            Console.WriteLine("Collection contains following " 
                + " types of elements: ");
            // Display the 'Type' of the elements in collection.
            for (int i = 0; i < myCollection.get_Count(); i++) {
                Console.WriteLine(myCollection.get_Item(i).GetType().ToString());
            }
            
            // Check element of type 'SoapAddressBinding' in collection.
            Object myObj = myCollection.Find(mySoapAddressBinding.GetType());
            if (myObj == null) {
                Console.WriteLine(
                    "Element of type '{0}' not found in collection.", 
                    mySoapAddressBinding.GetType().ToString());
            }
            else {
                Console.WriteLine(
                    "Element of type '{0}' found in collection.", 
                    mySoapAddressBinding.GetType().ToString());
            }
            
            // Check all elements of type 'SoapBinding' in collection.
            Object myObjectArray1[] = new Object[myCollection.get_Count()];
            myObjectArray1 = myCollection.FindAll(mySoapBinding1.GetType());
            int myNumberOfElements = 0;
            IEnumerator myIEnumerator = myObjectArray1.GetEnumerator();
            // Calculate number of elements of type 'SoapBinding'.
            while (myIEnumerator.MoveNext()) {
                if ((mySoapBinding1.GetType()).Equals(myIEnumerator.get_Current().
                    GetType())) {
                    myNumberOfElements++;
                }
            }
            Console.WriteLine("Collection contains {0} objects of type '{1}'.", 
                System.Convert.ToString(myNumberOfElements), 
                System.Convert.ToString(mySoapBinding1.GetType()));
            
            // Check 'IsHandled' status for 'myFormatExtensionObject' object 
            // in collection.
            Console.WriteLine("'IsHandled' status for {0} object is {1}.", 
                System.Convert.ToString(myFormatExtensionObject), 
                System.Convert.ToString(myCollection.
                IsHandled(myFormatExtensionObject)));
            
            // Check 'IsRequired' status for 'myFormatExtensionObject' object 
            // in collection.
            Console.WriteLine("'IsRequired' status for {0} object is {1}.", 
                System.Convert.ToString(myFormatExtensionObject), 
                System.Convert.ToString(myCollection.
                IsRequired(myFormatExtensionObject)));
            
            // Copy elements of collection to an Object array.
            Object myObjectArray2[] = new Object[myCollection.get_Count()];
            myCollection.CopyTo(myObjectArray2, 0);
            Console.WriteLine("Collection elements are copied to an "
                + "object array.");
            
            // Check for 'myFormatExtension' object in collection.
            if (myCollection.Contains(myFormatExtensionObject)) {
                // Get index of a 'myFormatExtension' object in collection.
                Console.WriteLine("Index of 'myFormatExtensionObject' is " + 
                    "{0} in collection.", System.Convert.ToString(myCollection.
                    IndexOf(myFormatExtensionObject)));
                
                // Remove 'myFormatExtensionObject' element from collection.
                myCollection.Remove(myFormatExtensionObject);
                Console.WriteLine("'myFormatExtensionObject' is removed" 
                    + " from collection.");
            }
            
            // Insert 'MyFormatExtension' object.
            myCollection.Insert(0, myFormatExtensionObject);
            Console.WriteLine("'myFormatExtensionObject' "
                + "is inserted to collection.");
        } 
        catch (System.Exception e) {
            Console.WriteLine("The following exception was raised: {0}", 
                e.get_Message());
        }
    } //main
} //myCollectionSample

Vererbungshierarchie

System.Object
   System.Collections.CollectionBase
     System.Web.Services.Description.ServiceDescriptionBaseCollection
      System.Web.Services.Description.ServiceDescriptionFormatExtensionCollection

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

ServiceDescriptionFormatExtensionCollection-Member
System.Web.Services.Description-Namespace