public override string ToString() { if (AsStringResult == null) { if (Value == null) { AsStringResult = string.Empty; } else if (AsString != null) { AsStringResult = AsString.Invoke(Value); } else { AsStringResult = Value.ToString(); } } return(AsStringResult); }