在特定委托类型的接口中实现 T 参数约束的方法

Ways to achieve constraint for a T parameter in interface to specific delegate type

我知道从 C#7.3 开始,我们可以使用 T : 委托约束。 我们能否更具体一些——对我们接口所依赖的特定方法签名的约束(我知道代码契约等参数,但如果我们必须这样做的话) 类似的东西?

public delegate int SummingDelegate(int a, int b);

public interface IRelyOn<T> where T : SummingDelegate
{
    int ConsumingSum(T summingMethod);
}

编辑: 我的场景是强制执行某种类型的必要方法签名,供 class 从可以模拟和测试的接口中使用。

此场景不需要泛型,其中委托已经表示具有匹配参数列表和 return 类型的任何方法。直接使用委托即可:

public delegate int SummingDelegate(int a, int b);

public interface IRelyOn
{
    int ConsumingSum(SummingDelegate summingMethod);
}