我已經開始了一個新的工作,最後一個開發人員離開他們想要一個他開始完成的程序。c#事件處理程序沒有被覆蓋
我有這個問題,並看着它半天。
private void Window_Loaded(object sender, RoutedEventArgs e)
{
logTimer = new System.Windows.Threading.DispatcherTimer();
logTimer.Tick += new EventHandler(logTimer_Tick);
logTimer.Interval = new TimeSpan(0, 0, 0, 1);
logTimer.Start();
txtLogData.Text = Logger.GetLines();
try
{
DataProcessor gaugeProcessor = new DataProcessor(SQLConnectionString);
gaugeProcessors.Add(gaugeProcessor);
grdProcessor.ItemsSource = gaugeProcessors;
List<GaugePort> ports = SQLClient.GetGaugePorts(SQLConnectionString);
foreach(GaugePort port in ports)
{
GaugePortListener newListener = new GaugePortListener(port);
listeners.Add(newListener);
}
grdPorts.ItemsSource = listeners;
}
catch(Exception ex)
{
}
}
我在第4行得到一個錯誤「無過載爲‘logTimer_Tick’匹配代表‘事件,’」
它調用的劑量存在,看起來像這樣
private void logTimer_Tick(object sender, EventArgs e)
{
txtLogData.Text = Logger.GetLines();
}
中的作用我看了一下下面的鏈接,但是我畫了一張空白圖片 http://www.yoda.arachsys.com/csharp/threads/parameters.shtml
任何想法,將提前
編輯
更改錯誤信息 「輸入錯誤」 這一措辭
如果您只是將其更改爲更新的形式'logTimer.Tick + = logTimer_Tick;',它有幫助嗎? –
有什麼奇怪的事情發生。您的事件處理程序與委託相匹配https://msdn.microsoft.com/en-us/library/system.windows.threading.dispatchertimer.tick(v=vs.110).aspx – Jamiec
我剛剛在LinqPad中測試了這段代碼它編譯得很好。我不確定發生了什麼,你可以發佈[MVCE](https://stackoverflow.com/help/mcve)嗎? – DaveShaw