Short answer: You can't.
Since both delegates has similar signatures, they are still different. C# is strongly-typed language and cannot be duck-typed. You can get delegate type from System.Private.CoreLib
and pass it into method.CreateDelegate
and use Invoke
method