我想在单元测试项目中编写一个辅助方法,它将初始化演示者,将 View 实例设置为它并设置演示者状态。
它抛出了我的异常:
代码:
public static **TPresenter<TView>** Initialize<TPresenter,TView>()
where TPresenter: BasePresenter<TView>, new()
where TView : new()
{
}
几分钟后,我发现问题出在我的返回类型
TPresenter<Tview>
我读了几篇没有清楚解释为什么我不能说
T1<T2>
的帖子我被迫通过引用参数进行演示者分配。欢迎任何解释!
最佳答案
基本上没有办法说类型参数本身是具有特定数量类型参数的泛型类型 - 您需要能够这样做才能使 TPresenter<TView>
有意义。
通过引用参数使其工作尚不清楚您的意思 - 您用于该 ref 参数的任何类型也应该可以作为返回类型。我的猜测是它只是类型 TPresenter
,而不是 TPresenter<TView>
。
关于c# - 类型参数不能与类型参数一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7264474/