If you know which method you are calling then
string s = (string)this.Invoke(new MyDelegate(MyMethod), new object[] { 10 });
is pointless just do
string s = MyMethod(10);
However if your method is dynamic then it would be set somewhere like
private MyDelegate _mydelegate;
public void SetDelegate(MyDelegate del)
{
_mydelegate = del;
}
and you would call this by
private void somemethod()
{
string s = _del(10);
}