No there is not. Auto-implemented properties only function to implement the most basic of properties: backing field with getter and setter. It doesn't support this type of customization.
However you can use the 4.0
Lazy<T> type to create this pattern
private Lazy<string> _someVariable =new Lazy<string>(SomeClass.IOnlyWantToCallYouOnce); public string SomeVariable => _someVariable.Value;
This code will lazily calculate the value of
_someVariable the first time the
Value expression is called. It will only be calculated once and will cache the value for future uses of the