我的班级有复杂的财产:
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;}
)。它是否支持自动存储复杂的属性?