我有一个类充满了属性。当访问属性时,它从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是关于不复制大部分代码的,有没有什么办法可以使这个工作自动完成?
你确定你没有过早地优化它吗? – Marc 2010-08-10 13:02:45
不,实际上我不是:P – 2010-08-10 14:07:50