EventArrivedEventHandler 委托

定义

表示用来处理 EventArrived 事件的方法。Represents the method that will handle the EventArrived event.

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

参数

sender
Object

要为其调用此方法的对象的实例。The instance of the object for which to invoke this method.

e
EventArrivedEventArgs

EventArrivedEventArgs,指定调用事件的原因。The EventArrivedEventArgs that specifies the reason the event was invoked.

继承
EventArrivedEventHandler

示例

以下异步示例设置了一个 WMI 计时器, 每秒引发一次事件, 并在不再需要时将其删除。The following asynchronous example sets up a WMI timer to raise an event every second, and removes it when no longer needed. 定义几个.NET Framework.NET Framework在传递 WMI 事件时引发的事件。 ManagementEventWatcherThe ManagementEventWatcher defines several .NET Framework.NET Framework events which are raised when WMI events are delivered. 委托被附加到这些事件,以处理传入的数据。Delegates are attached to these events for handling the incoming data.

using System;
using System.Management;

// This example shows asynchronous consumption of events.
// In this example you are listening for timer events.
// The first part of the example sets up the timer.
public class EventWatcherAsync 
{
    public EventWatcherAsync()
    {
        // Set up a timer to raise events every 1 second
        //=============================================
        ManagementClass timerClass = 
            new ManagementClass("__IntervalTimerInstruction");
        ManagementObject timer = timerClass.CreateInstance();
        timer["TimerId"] = "Timer1";
        timer["IntervalBetweenEvents"] = 1000;
        timer.Put();

        // Set up the event consumer
        //==========================
        // Create event query to receive timer events
        WqlEventQuery query = 
            new WqlEventQuery("__TimerEvent",
            "TimerId=\"Timer1\"");

        // Initialize an event watcher and 
        // subscribe to timer events 
        ManagementEventWatcher watcher = 
            new ManagementEventWatcher(query);

        // Set up a listener for events
        watcher.EventArrived += 
            new EventArrivedEventHandler(
            this.HandleEvent);

        // Start listening
        watcher.Start();

        // Do something in the meantime
        System.Threading.Thread.Sleep(10000);
      
        // Stop listening
        watcher.Stop();
        
    }


    private void HandleEvent(object sender,
        EventArrivedEventArgs e)   
    {
        Console.WriteLine("Event arrived !");
    }

    public static void Main(string[] args) 
    {
        // start the event watcher
        EventWatcherAsync eventWatcher = new
            EventWatcherAsync();
    }
}
Imports System.Management

' This example shows asynchronous consumption of events.
' In this example you are listening for timer events.
' The first part of the example sets up the timer.

Public Class EventWatcherAsync

    Public Sub New()
        ' Set up a timer to raise events every 1 second
        '=============================================
        Dim timerClass As New ManagementClass( _
            "__IntervalTimerInstruction")
        Dim timer As ManagementObject = _
            timerClass.CreateInstance()
        timer("TimerId") = "Timer1"
        timer("IntervalBetweenEvents") = 1000
        timer.Put()

        ' Set up the event consumer
        '==========================
        ' Create event query to receive timer events
        Dim query As New WqlEventQuery("__TimerEvent", _
            "TimerId=""Timer1""")

        ' Initialize an event watcher and subscribe to 
        ' events that match this query
        Dim watcher As New ManagementEventWatcher(query)

        ' Set up a listener for events
        AddHandler watcher.EventArrived, _
            AddressOf Me.HandleEvent

        ' Start listening
        watcher.Start()

        ' Do something in the meantime
        System.Threading.Thread.Sleep(10000)

        ' Stop listening
        watcher.Stop()

    End Sub

    Private Sub HandleEvent(ByVal sender As Object, _
        ByVal e As EventArrivedEventArgs)

        Console.WriteLine("Event arrived !")
    End Sub

    Public Overloads Shared Function _
            Main(ByVal args() As String) As Integer

        'start the event watcher
        Dim eventWatcher As New EventWatcherAsync

        Return 0

    End Function

End Class

扩展方法

GetMethodInfo(Delegate)

获取指示指定委托表示的方法的对象。Gets an object that represents the method represented by the specified delegate.

适用于