【发布时间】:2011-04-13 17:28:48
【问题描述】:
我有两个班级:
缺陷控制器
public abstract class DefectsController<TDefect, TDefectService> :
ApplicationController<DefectsController<TDefect, TDefectService>, TDefect>
where TDefectService : IEntityService<TDefect>
where TDefect : Defect
{
private readonly TDefectService defectService;
public DefectsController(TDefectService defectService)
: base(defectService)
{
this.defectService = defectService;
}
}
和 JobDefectsController(还有其他部分,这些只是示例)
public class JobDefectsController : DefectsController<JobDefect, IEntityService<JobDefect>>
{
public JobDefectsController(EntityService<JobDefect> service)
: base(service)
{
}
}
由于某种原因,如果我将 JobDefectsController 的构造函数更改为使用 IEntityService,那么如果我尝试访问 DefectsController 中的defectService,则会引发未知错误。
编辑:此错误:提供的泛型参数的数量不等于泛型类型定义的数量。
参数名称:实例化
曾经有一个名为JobDefectsService 的类继承自IEntityService<JobDefect>,并且它的接口(@987654326@)可以用来代替IEntityService<JobDefect> 和EntityService<JobDefect> 而不会出现问题。
有人知道问题出在哪里吗?
谢谢,
哈罗德
【问题讨论】:
-
“引发未知错误”是什么意思?
-
这是什么标签汤:-)
-
"提供的泛型参数的数量不等于泛型类型定义的数量。参数名称:实例化"
-
它是在 c# 中使用 asp.net-mvc 完成的(因此是控制器和服务)并与 fluent-nhibernate 一起使用(但我不确定这是否涉及,我只是在帮助别人的项目)
标签: c# asp.net-mvc fluent-nhibernate