我有兩個類共享相同的方法,我想根據需要在代碼中切換它們。如果你看下面的例子,你會發現代碼的相同部分是重複的。 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);
}
}
看看接口。 – CodeCaster 2012-04-16 15:32:42
您必須對兩者都使用通用接口,並在對象(而不是類)上調用「get」/「add」方法。 – rottz 2012-04-16 15:33:46