首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >嘲笑帮助?我找不到问题所在

嘲笑帮助?我找不到问题所在
EN

Stack Overflow用户
提问于 2010-02-14 16:37:43
回答 2查看 1.1K关注 0票数 1

我有一个定义如下的界面:

代码语言:javascript
复制
public interface IDatabase{ void Get<TTypeToFetch> ();}

当我尝试执行:Mockery mockery = new Mockery(); IDatabase db = mockery.NewMock<IDatabase>();时,我得到以下错误:

System.TypeLoadException: System.TypeLoadException:方法实现中主体和声明的签名不匹配

怎么啦?(我正在使用Visual 2008与nmock2)请大家给我一个答案,我必须尽快完成。谢谢,路易莎

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-14 16:44:47

我认为这可能是NMock的一个问题,甚至可能是一个bug。类型IDatabase不是泛型的,所以当您调用Get<T>时,可以在运行时使用不同的T。但是当NMock生成模拟时,它似乎不明白情况是这样的,而且每个方法签名都是不同的,这取决于提供的类型参数。

试着这样做:

代码语言:javascript
复制
public interface IDatabase<T> {
  void Get<T>();
}

而且,Get的类型不应该是T,而不是void

票数 0
EN

Stack Overflow用户

发布于 2012-03-06 10:05:07

我对自己的界面也有同样的例外。当我将界面改为公共界面时,一切正常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2261813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档