Below is a rather frightening pattern I sometimes use as a lazy way to do simple invocation. This code makes me feel slightly guilty, even though I'm not sure why. Is this horrifying? Reasonable? Going to blow up in my face later?
public void myMethod(object args)
{
if (InvokeRequired)
{
Invoke(new MethodInvoker(delegate
{
myMethod(args);
}));
return;
}
//Do Stuff
}