考虑到以下接口: TOutput get<TInput, TOutput>(TInput command);和下列执行情况: //map data to dto and return}
由于我将IContext依赖项传递给Repository类,所以我不想在接口上使用类型参数考虑到在IContext接口上没有类型参数</em
我感到惊讶的是,C#为接口的可选方法参数使用了一个值,而不是来自实现该接口的类。= true) Console.WriteLine($"Value of optional argument is {opt}");}
我的问题是:是否可以在没有默认值或"overridable“的情况下在接口中定义一个可选参数,因此对保存在<
我刚刚注意到,例如,接口IEqualityComparer<T>提供public int GetHashCode(T obj)。我经常在另一个接口/类中看到public int GetHashCode()变体。为什么它是用输入参数设计的?我理解在“with参数”的情况下,返回的值将不是基于调用对象,而是基于方法的参数。最后一个问题是:调用对象应该是什么(即GetHashCode方法的所有者)?
UPD.以最早的正确答案作