XmlNodeEventHandler Délégué

Définition

Représente la méthode qui gère l'événement UnknownNode de XmlSerializer.Represents the method that handles the UnknownNode event of an XmlSerializer.

public delegate void XmlNodeEventHandler(System::Object ^ sender, XmlNodeEventArgs ^ e);
public delegate void XmlNodeEventHandler(object sender, XmlNodeEventArgs e);
type XmlNodeEventHandler = delegate of obj * XmlNodeEventArgs -> unit
Public Delegate Sub XmlNodeEventHandler(sender As Object, e As XmlNodeEventArgs)

Paramètres

sender
Object

Source de l'événement.The source of the event.

e
XmlNodeEventArgs

XmlNodeEventArgs qui contient les données d'événement.An XmlNodeEventArgs that contains the event data.

Héritage
XmlNodeEventHandler

Exemples

L’exemple suivant crée un XmlSerializer, ajoute un gestionnaire d’événements pour UnknownNode l’événement et désérialise un objet.The following example creates an XmlSerializer, adds an event handler for the UnknownNode event, and deserializes an object.

private:
   void DeserializeItem( String^ filename )
   {
      XmlSerializer^ mySerializer = gcnew XmlSerializer( ObjectToDeserialize::typeid );

      // Add an instance of the delegate to the event.
      mySerializer->UnknownNode += gcnew XmlNodeEventHandler( this, &Class1::Serializer_UnknownNode );

      // A FileStream is needed to read the file to deserialize.
      FileStream^ fs = gcnew FileStream( filename,FileMode::Open );
      ObjectToDeserialize^ o = dynamic_cast<ObjectToDeserialize^>(mySerializer->Deserialize( fs ));
   }

   void Serializer_UnknownNode( Object^ sender, XmlNodeEventArgs^ e )
   {
      Console::WriteLine( "UnknownNode Name: {0}", e->Name );
      Console::WriteLine( "UnknownNode LocalName: {0}", e->LocalName );
      Console::WriteLine( "UnknownNode Namespace URI: {0}", e->NamespaceURI );
      Console::WriteLine( "UnknownNode Text: {0}", e->Text );
      Object^ o = e->ObjectBeingDeserialized;
      Console::WriteLine( "Object being deserialized {0}", o );
      XmlNodeType myNodeType = e->NodeType;
      Console::WriteLine( myNodeType );
   }

private void DeserializeItem(string filename) {
    XmlSerializer mySerializer = 
        new XmlSerializer(typeof(ObjectToDeserialize));
    // Add an instance of the delegate to the event.
    mySerializer.UnknownNode += new XmlNodeEventHandler
        (Serializer_UnknownNode);
    // A FileStream is needed to read the file to deserialize.
    FileStream fs = new FileStream(filename, FileMode.Open);
    ObjectToDeserialize o = (ObjectToDeserialize)mySerializer.Deserialize(fs);
}
 
private void Serializer_UnknownNode
    (object sender, XmlNodeEventArgs e) {
    
    Console.WriteLine("UnknownNode Name: "
                      + e.Name);
    Console.WriteLine("UnknownNode LocalName: "
                      + e.LocalName);
    Console.WriteLine("UnknownNode Namespace URI: "
                      + e.NamespaceURI);
    Console.WriteLine("UnknownNode Text: "
                      + e.Text);
 
    object o = e.ObjectBeingDeserialized;
    Console.WriteLine("Object being deserialized " 
                      + o.ToString());
       
    XmlNodeType myNodeType = e.NodeType;
    Console.WriteLine(myNodeType);
}

Private Sub DeserializeItem(ByVal filename As String)
    Dim mySerializer As New XmlSerializer(GetType(ObjectToDeserialize))
    ' Add an instance of the delegate to the event.
    AddHandler mySerializer.UnknownNode, AddressOf Serializer_UnknownNode
    ' A FileStream is needed to read the file to deserialize.
    Dim fs As New FileStream(filename, FileMode.Open)
    Dim o As ObjectToDeserialize = _
        CType(mySerializer.Deserialize(fs), ObjectToDeserialize)
End Sub


Private Sub Serializer_UnknownNode _
                (ByVal sender As Object, _
                 ByVal e As XmlNodeEventArgs)
    
    Console.WriteLine("UnknownNode Name: " & e.Name)
    Console.WriteLine("UnknownNode LocalName: " & e.LocalName)
    Console.WriteLine("UnknownNode Namespace URI: " & e.NamespaceURI)
    Console.WriteLine("UnknownNode Text: " & e.Text)
    
    Dim o As Object = e.ObjectBeingDeserialized
    Console.WriteLine("Object being deserialized " & o.ToString())
    
    Dim myNodeType As XmlNodeType = e.NodeType
    Console.WriteLine(myNodeType)
End Sub

Remarques

Lorsque vous créez un XmlNodeEventHandler délégué, vous identifiez la méthode qui gère l’événement.When you create an XmlNodeEventHandler delegate, you identify the method that handles the event. Pour associer l'événement au gestionnaire d'événements, ajoutez une instance du délégué à l'événement.To associate the event with your event handler, add an instance of the delegate to the event. Le gestionnaire d'événements est appelé chaque fois qu'un événement se produit, sauf si vous supprimez le délégué.The event handler is called whenever the event occurs, unless you remove the delegate. Pour plus d’informations sur les délégués de gestionnaires d’événements, consultez gestion et déclenchement d’événements.For more information about event handler delegates, see Handling and Raising Events.

L' UnknownNode événement se produit uniquement lorsque vous appelez Deserialize la méthode.The UnknownNode event occurs only when you call the Deserialize method.

Méthodes d’extension

GetMethodInfo(Delegate)

Obtient un objet qui représente la méthode représentée par le délégué spécifié.Gets an object that represents the method represented by the specified delegate.

S’applique à

Voir aussi