27 EKİM 2010, ÇARŞAMBA
C# Tembel Yüklenen Otomatik Özellikleri
C#,
Bir şekilde belirtilen varsayılan değeri tembel dolu otomatik bir özelliği otomatik özelliği devre var mı?
Aslında, bu da... anlatmaya çalışıyorum
private string _SomeVariable
public string SomeVariable
{
get
{
if(_SomeVariable == null)
{
_SomeVariable = SomeClass.IOnlyWantToCallYouOnce();
}
return _SomeVariable;
}
}
farklı bir şey içine, varsayılan belirtin ve gerisini otomatik olarak kolları...
[SetUsing(SomeClass.IOnlyWantToCallYouOnce())]
public string SomeVariable {get; private set;}
CEVAP
27 EKİM 2010, ÇARŞAMBA
Yok yok. Otomatik uygulanan özellikler yalnızca özellikleri en temel uygulamak için fonksiyon: alıcı ve ayarlayıcı ile destek alan. Özelleştirme bu tür bir destek yok.
Ancak bu model oluşturmak için 4.0 Lazy<T>
türü kullanabilirsiniz
private Lazy<string> _someVariable =new Lazy<string>(SomeClass.IOnlyWantToCallYouOnce);
public string SomeVariable {
get { return _someVariable.Value; }
}
Bu kod, tembel _someVariable
değeri Value
ifade denir ilk kez hesaplar. Sadece bir kez hesaplanır ve Value
özelliği önbellek gelecekteki kullanımlar için değer
Bunu Paylaş:
C# Otomatik Özellikleri...
Özellikleri ve Yapıları'gitmez ot...
Otomatik olarak yeniden boyutlandırmak...
EF: Doğrulama tembel yüklü, gerekli öz...
Otomatik hata ayıklama özellikleri...