Invoking EventHandler generic, TargetParameterCountException
Posted
by Am
on Stack Overflow
See other posts from Stack Overflow
or by Am
Published on 2010-03-20T18:32:03Z
Indexed on
2010/03/20
18:41 UTC
Read the original article
Hit count: 618
Hi,
I have a DirectoryMonitor class which works on another thread. It has the following events declared:
public class DirectoryMonitor
{
public event EventHandler<MonitorEventArgs> CreatedNewBook;
public event EventHandler ScanStarted;
....
}
public class MonitorEventArgs : EventArgs
{
public Book Book { get; set; }
}
There is a form using that monitor, and upon receiving the events, it should update the display.
Now, this works:
void DirectoryMonitor_ScanStarted(object sender, EventArgs e)
{
if (InvokeRequired)
{
Invoke(new EventHandler(this.DirectoryMonitor_ScanStarted));
}
else {...}
}
But this throws TargetParameterCountException
:
void DirectoryMonitor_CreatedNewBook(object sender, MonitorEventArgs e)
{
if (InvokeRequired)
{
Invoke(new EventHandler<MonitorEventArgs>(this.DirectoryMonitor_CreatedNewBook));
}
else {...}
}
What am I missing?
© Stack Overflow or respective owner