2010-02-14 3 views
1

무엇을 찾을 수 없습니다 도움 :비웃음 내가 인터페이스는 다음과 같이 definded 한 문제

System.TypeLoadException: System.TypeLoadException: Signature of the body and declaration in a method implementation do not match

: 나는 다음과 같은 오류가 Mockery mockery = new Mockery(); IDatabase db = mockery.NewMock<IDatabase>(); 을 :

public interface IDatabase{ void Get<TTypeToFetch>();} 

내가해야 할 때

무엇이 잘못 되었나요? (나는 nmock2와 Visual Studio 2008을 사용하고있다.) 제발 모두에게 대답을 해줄 수있다. 나는 곧 이것을 끝내야한다. 고마워, Luisa

+0

이 질문은 조롱 프레임 워크 Rhino.Mocks와 관련이 없으므로 "rhino-mocks"태그가 제거되었습니다. –

답변

0

나는 이것이 NMock에서 문제 일 수 있다고 생각합니다. 유형 IDatabase은 일반이 아니므로 Get<T>을 호출하면 런타임에 다른 T을 사용할 수 있습니다. 그러나 NMock이 모의를 생성 할 때, 이것이 사실이라는 것을 이해하지 못하고, kablammo - 각 메소드 서명은 제공된 유형 매개 변수에 따라 다릅니다.

이 대신 일을보십시오 :

또한
public interface IDatabase<T> { 
    void Get<T>(); 
} 

, Get의 유형 T하지 void 안?

+0

아니요, 작동하지 않습니다. – Luisa

+0

나는 문제를 해결했다. 내 가상 버전이 틀렸다. – Luisa

0

나는 내 자신의 인터페이스와 동일한 예외가있었습니다. 인터페이스를 공용으로 변경하면 모든 것이 정상적으로 실행됩니다.

+0

그의 인터페이스 (코드에서 보여주고있다)는 이미 공개되어있다. – Peter

관련 문제