I have some auto-instantiation code which I would like to apply to about 15 properties in a fairly big class. The code is similar to the following but the type is differ
You can use the ??
operator to simplify the code into one line:
protected ComplexType _propertyName;
public ComplexType PropertyName
{
get
{
return _propertyName ?? (_propertyName = new ComplexType());
}
}
As a side note I would probably avoid protected fields. If you need to set the property from a derived class I would rather create a protected setter.