クラス内のインスタンス変数ですが、特定のプロパティによってのみアクセスできる変数を持つことは可能ですか?プロパティ内での使用のために限定スコープの変数
私はかなり頻繁にそのような「自己作成」プロパティを作成して...私は新しいWGSLocation
(またはその他何でも、私は必要なオブジェクトの種類を再作成に行かないことを意味し
private IWGSLocation _location;
public IWGSLocation Location
{
get
{
_location = _location ?? new WGSLocation();
_location.Latitude = Latitude.GetValueOrDefault(0);
_location.Longitude = Longitude.GetValueOrDefault(0);
return _location;
}
}
、作成には高価な場合があります)、またはプロパティにアクセスするたびに1回のみ作成する必要があります。欠点は、私のクラスが_location変数にアクセスできることです。しかし、私は本当にそれを望んでいないので、プロパティ自体の中でのみ使用できるインスタンス変数を持つ方法があれば?私はこれらの線に沿って何かを考えている
...
public IWGSLocation Location
{
get
{
WGSLocation _location = _location ?? new WGSLocation();
_location.Latitude = Latitude.GetValueOrDefault(0);
_location.Longitude = Longitude.GetValueOrDefault(0);
return _location;
}
}
私はアプリケーションのボトルネックであることを熱心に評価したときに、遅延初期化プロパティを使用することをお勧めします。 – CodesInChaos