是否有可能有一個變量,它是一個類中的實例變量,但只能由特定的屬性來訪問?僅供內部使用的財產私人範圍的變量
我經常創造像這樣的「自我創造」屬性...
private IWGSLocation _location;
public IWGSLocation Location
{
get
{
_location = _location ?? new WGSLocation();
_location.Latitude = Latitude.GetValueOrDefault(0);
_location.Longitude = Longitude.GetValueOrDefault(0);
return _location;
}
}
這意味着我不去重新創建一個新的WGSLocation
(或任何對象,我需要的其他類型,這可能是昂貴的創建,或者可能只需要創建一次)每次訪問該屬性。缺點是我的類可以訪問_location變量。但我真的不希望它,所以如果有任何方法有一個實例變量,只能在屬性本身使用?
我想沿着這些線路的東西...
public IWGSLocation Location
{
get
{
WGSLocation _location = _location ?? new WGSLocation();
_location.Latitude = Latitude.GetValueOrDefault(0);
_location.Longitude = Longitude.GetValueOrDefault(0);
return _location;
}
}
我喜歡我的時候測量的渴望創造它是在我的應用程序中的瓶頸使用延遲初始化屬性。 – CodesInChaos 2012-02-08 20:08:52