我有各种执行长计算的函数类。目前,每次访问函数的结果都意味着重新计算函数。这就是为什么我想在我的解决方案中加入 MemoryCache。但问题是我需要一个 ChangeMonitor 类来监视函数类的更改。我见过监控文件的例子。我的问题是:我需要编写自定义 ChangeMonitor 还是缺少简单的解决方案?
举个简单的例子:
class MyFunction
{
//I want to monitor changes to these parameters
private int param1;
private int param2;
//This result should be cached
public int GetResult()
{
return param1 * param2;
}
};
最佳答案
您可以使用 Factory 类来拥有一个单独的类来访问和创建 MyFunction 对象。
然后工厂可以管理和同步包含先前计算的内部字典。
MyFunction 类需要实现 IEquals 并提供哈希函数。在 myClass 内部,您需要添加 private nullable int 结果。
关于c# - 对象的内存缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12822090/