J'ai commencé un nouveau travail, où le dernier dev est parti, ils veulent un programme qu'il a commencé à terminer.C# Gestionnaire d'événements non overide
Je suis arrivé à ce problème et l'ai regardé pendant une demi-journée.
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)
{
}
}
Je reçois une erreur sur la ligne 4 « Pas de surcharge pour « logTimer_Tick » correspond aux délégués de gestionnaire d'événements »
La fonction qu'il appelle existe dose et ressemble à ceci
private void logTimer_Tick(object sender, EventArgs e)
{
txtLogData.Text = Logger.GetLines();
}
J'ai regardé les liens ci-dessous mais j'ai dessiné un blanc http://www.yoda.arachsys.com/csharp/threads/parameters.shtml
Toutes les idées seraient grandes
Merci à l'avance
EDIT
Modifier le libellé du message d'erreur "Typo"
Cela vous aide-t-il si vous changez simplement la nouvelle forme 'logTimer.Tick + = logTimer_Tick;'? –
Quelque chose d'étrange se passe. Votre gestionnaire d'événements correspond au délégué https://msdn.microsoft.com/en-us/library/system.windows.threading.dispatchertimer.tick(v=vs.110).aspx – Jamiec
Je viens de tester ce code dans LinqPad et il compile bien. Je ne suis pas sûr de ce qui se passe, pouvez-vous poster un [MVCE] (https://stackoverflow.com/help/mcve)? – DaveShaw