var is a system keyword - don't use it
V1 - in this version you expect config to have a value, otherwise error will occur
static int? _timeout = null;
private static int GetTimeout()
{
if (_timeout != null) return (int)_timeout;
_timeout = GetTimeoutFromConfig();
return (int)_timeout;
}
V2 - in this version you will use default value if config is empty
static int? _timeout = null;
private const int def_timeout = 120;
private static int GetTimeout()
{
if (_timeout != null) return (int)_timeout;
int? to = GetTimeoutFromConfig();
_timeout = (to ?? def_timeout);
return (int)_timeout;
}
converting from config
private int? GetTimeoutFromConfig()
{
int val;
bool converted = int.TryParse(ConfigurationManager.AppSettings["TimeoutValue"], out val);
return (converted ? val : null);
}