我有两个共享相同方法的类,我想根据需要在代码中切换它们。如果您查看下面的示例,您会发现代码的相同部分是重复的。CacheFile 和 CacheMemory 类是相同的,我确信这段代码可以收缩并且 CacheFile 和 CacheMemory 类可以切换。
if (_cacheLocation == CacheLocation.File)
{
if (!CacheFile.Get(key, out value))
{
// Do lookup based on caller's logic.
context.Proceed();
value = context.ReturnValue;
CacheFile.Add(value, key, _cacheType, _expiry);
}
}
if (_cacheLocation == CacheLocation.Memory)
{
if (!CacheMemory.Get(key, out value))
{
// Do lookup based on caller's logic.
context.Proceed();
value = context.ReturnValue;
CacheMemory.Add(value, key, _cacheType, _expiry);
}
}