【发布时间】:2011-03-27 19:41:29
【问题描述】:
我有一个充满属性的类。当访问属性时,它会从 XDocument 中读取一些值。
public class Foo
{
private XDocument root;
public Foo(Stream str)
{
root = XDocument.load(str);
}
public String Bar
{
get
{
return root.Element("bar").Value;
}
}
}
只是看起来有点开销,因为每次访问它都必须再次读取 XDocument。我尝试将其“缓存”如下
public String Bar
{
get
{
if(String.IsNullOrEmpty(this.Bar))
return root.Element("bar").Value;
else
return this.Bar;
}
}
这对我来说似乎很不错,只是我有一个问题。该类具有大约 200 个属性。每次我必须做这个检查,因为 OOP 就是不复制大部分代码,有什么方法可以自动完成这项工作吗?
【问题讨论】:
-
你确定你没有过早地优化这个吗?
标签: c# caching properties