Я думаю, что это может быть проблемой с NMock, возможно, даже ошибкой. Тип IDatabase
не является универсальным, поэтому при вызове Get<T>
во время выполнения могут использоваться разные T
s. Но когда NMock генерирует макет, он, похоже, не понимает, что это так, и кабламмо - сигнатура каждого метода различна в зависимости от предоставленного параметра типа.
Попробуйте вместо этого:
public interface IDatabase<T> {
void Get<T>();
}
Кроме того, тип Get
не должен быть T
, а не void
?