首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Effective C# 原則 22:用事件定義對外介面(三)

     編輯:關於C語言

事件記錄器實作範例

另一個類別直接輸出到系統事件日誌:

class EventLogger
{
    private static string eventSource;
    private static EventLog logDest;
    static EventLogger()
    {
        logger.Log += new AddMessageEventHandler(Event_Log);
    }
    public static string EventSource
    {
        get { return eventSource; }
        set
        {
            eventSource = value;
            if (!EventLog.SourceExists(eventSource))
                EventLog.CreateEventSource(eventSource, "ApplicationEventLogger");
            if (logDest != null) logDest.Dispose();
            logDest = new EventLog();
            logDest.Source = eventSource;
        }
    }
    private static void Event_Log(object sender, LoggerEventArgs msg)
    {
        if (logDest != null)
            logDest.WriteEntry(msg.Message, EventLogEntryType.Information, msg.Priority);
    }
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved