递归调用:糟糕的风格?

Bri*_*ian 4 c# invoke winforms

下面是一个相当可怕的模式,我有时会用它来做一个简单的调用.这段代码让我感到有点内疚,即使我不确定为什么.这可怕吗?合理?以后会在我脸上炸掉?

public void myMethod(object args)
{
    if (InvokeRequired)
    {
        Invoke(new MethodInvoker(delegate
        {
            myMethod(args);
        }));
        return;
    }
    //Do Stuff
}
Run Code Online (Sandbox Code Playgroud)

Ree*_*sey 8

这是确保使用UI线程的同步上下文运行方法的一种非常常见的方法.这没什么不对.

(另一方面,在.NET中使用pascal大小写方法的惯例,所以我会改变它MyMethod.鉴于这个问题是关于样式的,我觉得这值得一提.)