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