Издевательство над общим вызовом метода

Предположим, у меня есть сильно типизированный интерфейс кэширования, который я хочу высмеять. Он принимает объекты любого типа и возвращает их, например, так:

interface IMyCache
{
   void Add( int key, object obj );
   T Get<T>(int key);
}

Могу ли я написать заглушку RhinoMocks, которая будет высмеивать любой тип параметров, который я ей передам? В идеале это должно выглядеть примерно так:

var mock = MockRepository.GenerateStub<IMyCache>();
mock.Stub( m => m.Get<T>(1234)).Return( new T());

Это не работает, потому что он ожидает, что T будет конкретным классом, но я хотел бы обобщить его. Возможно ли это?

5
задан Ben Fulton 15 November 2011 в 14:34
поделиться