题
我有一个接口definded这样的:
public interface IDatabase{ void Get<TTypeToFetch> ();}
当我试图这样做:Mockery mockery = new Mockery();
IDatabase db = mockery.NewMock<IDatabase>();
我得到的以下错误:
系统。TypeLoadException:系统。TypeLoadException:签名的身体和宣言中的一方法的执行不匹配
什么是错的?(I am使用Visual Studio2008年nmock2) 请每个人给我一个答案,我必须完成这。谢谢, 路易莎
解决方案
我觉得这可能是一个问题与NMock,甚至可能是一个错误。的类型 IDatabase
不是通用的,所以当你调用 Get<T>
, 不同 T
s可以用在运行时间。但是,当NMock产生的模拟,它似乎不了解,这种情况,并kablammo--每种方法的签名是不同的,根据不同类型参数提供。
试试这样做,而不是:
public interface IDatabase<T> {
void Get<T>();
}
此外,不应该的类型 Get
可 T
, ,不 void
?
其他提示
我有我自己的接口相同的异常。当我改变接口是公共一切运行正常。
不隶属于 StackOverflow