【发布时间】:2012-02-08 11:29:21
【问题描述】:
是否可以有一个变量,它是一个类中的实例变量,但只能由特定属性访问?
我经常像这样创建“自我创造”的属性......
private IWGSLocation _location;
public IWGSLocation Location
{
get
{
_location = _location ?? new WGSLocation();
_location.Latitude = Latitude.GetValueOrDefault(0);
_location.Longitude = Longitude.GetValueOrDefault(0);
return _location;
}
}
这意味着每次我访问财产。缺点是我的班级可以访问 _location 变量。但我真的不想要它,所以如果有任何方法可以拥有一个只能在属性本身内使用的实例变量?
我正在考虑这些方面的一些事情......
public IWGSLocation Location
{
get
{
WGSLocation _location = _location ?? new WGSLocation();
_location.Latitude = Latitude.GetValueOrDefault(0);
_location.Longitude = Longitude.GetValueOrDefault(0);
return _location;
}
}
【问题讨论】:
-
当我测量到急切创建它是我的应用程序的瓶颈时,我更喜欢使用惰性初始化属性。
标签: c# properties