Caching Intensive Calculation in Property Getter
<p>In the following code:</p>

<pre><code>public class SomeClass
{
    // ... constructor and other stuff

    public in SomeProperty
    {
        get
        {
            return SomeHeayCalculation();
        }
    } 
}
</code></pre>

<p>I consider the class to be immutable, so every time <code>SomeProperty</code> is accessed, same value should be returned. My question is whether it is possible to avoid calculating the value each time. Is there some built in mechanism for caching such stuff?</p>
