我班有複雜的屬性:.NET延遲加載/預先計算的性能
private Image m_LogoImage=null;
public Image LogoImage
{
get
{
if (m_LogoImage == null && File.Exists(Data.LogoFileUrl))
{
DrawingImage image = DrawingImage.FromFile(Data.LogoFileUrl);
m_LogoImage = Image.GetInstance(image, new Color(1, 1, 1));
}
return m_LogoImage;
}
}
LogoImage.get很慢,而且消耗資源的行動,在第一時間將客戶端調用它,屬性計算圖像和將結果存儲在私有變量m_LogoImage中。
這對我來說很基本。 .NET支持自動屬性(public string P {get;set;}
)。它是否支持自動存儲複雜的屬性?
1.數據可能只是一個實例成員。 2. FileUrl在靜態類初始化時可能不可用。 – Asti 2012-07-16 22:43:39
^^^正確。不知道細節,這只是一個靜態的建議。 – loopedcode 2012-07-16 22:56:50