In .NET 4 the following snippet with a cached property can also be written using the System.Lazy class. I measured the performance of both approaches and it\'s pret
Use Lazy<T>, as it expresses exactly what you are doing - lazy loading.
Lazy<T>
In addition, it keeps your property very clean and is thread safe.