我有一個類充滿了屬性。當訪問屬性時,它從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