Ну если мы говорим про кэш, то вот такого интерфейса было бы вполне достаточно.
https://github.com/sherman/onTSLab/tree/master/src/trading/cacheЯ не знаток c#, наверное можно написать и более просто. Например, я не знаю как правильно хранить null в таким случаях вместо default value для value types.