usare invoke?

una cosa del genere:

codice:
void QuestoMetodo(object sender, EventArgs e)
{
            if (control.InvokeRequired)
            {
                //chiamo il metodo attraverso un delegato
                control.Invoke(new Tipodelegato(QuestoMetodo), sender, e);
            }
            else
            {
                //eseguo direttamente
            }
}
cosa c'è che non va qui?