考慮下面的程序內外部資源使用事件處理程序
public delegate void EventHandler(object sender, EventArgs e)
public class EventThrower
{
public event EventHandler Event;
protected virtual void OnEvent(EventArgs e)
{
if (Event!= null)
{
Event(this, e);
}
}
public void RaiseEvent()
{
OnEvent(EventArgs.Empty);
}
}
編輯:在這裏,我的問題是,日誌是不相同的上下文中事件處理程序中。我現在看到,我可以通過將其設置爲靜態類成員來解決這個問題。
預期的行爲是什麼?當我運行你的程序時,它執行'LogEvent'方法。顯然在糾正一些錯別字之後。 –
您能夠在事件處理程序中使用'log.Add()'方法運行程序嗎?在這種情況下,「log」不存在。你怎麼修好它的?另外,我現在會改正錯別字。我在SO問題框中輸入了這個程序,我不應該這樣做= P – JHixson
它們不是**在不同的線程中執行。你很難清楚你想要解決什麼問題,因爲除了使「log」變量成爲一個靜態類成員之外沒有別的。 –