Это должно делать то, что вы хотите. На самом деле он передает без параметров параметр вашей функции, но делегат () {methodOne (1, 2);} создает анонимную функцию, которая вызывает methodOne с соответствующими параметрами.
Я хотел проверить это, прежде чем набирать его, но у меня есть только .net framework 2.0, поэтому мой подход.
public delegate void QueuedMethod();
static void Main(string[] args)
{
methodQueue(delegate(){methodOne( 1, 2 );});
methodQueue(delegate(){methodTwo( 3, 4 );});
}
static void methodOne (int x, int y)
{
}
static void methodQueue (QueuedMethod parameter)
{
parameter(); //run the method
//...wait
//...execute the parameter statement
}