return default value if no value has been set

This commit is contained in:
Michael Becker 2022-01-17 02:37:04 -05:00
parent 9ca837c212
commit ec36685c3b
No known key found for this signature in database
GPG Key ID: 98C333A81F18C22C

View File

@ -112,6 +112,7 @@ namespace MBS.Framework
public SettingsValue.SettingsValueCollection ScopedValues { get; } = new SettingsValue.SettingsValueCollection();
private object mvarValue = null;
private bool _valueSet = false;
public virtual object GetValue(Guid? scopeId = null)
{
@ -122,7 +123,9 @@ namespace MBS.Framework
return ScopedValues[scopeId.Value].Value;
}
}
if (_valueSet)
return mvarValue;
return DefaultValue;
}
public virtual void SetValue(object value, Guid? scopeId = null)
{
@ -140,9 +143,14 @@ namespace MBS.Framework
else
{
mvarValue = value;
_valueSet = true;
}
}
public T GetValue<T>(T defaultValue = default(T), Guid? scopeId = null)
public T GetValue<T>(Guid? scopeId = null)
{
return GetValue<T>(DefaultValue is T ? (T)DefaultValue : default(T), scopeId);
}
public T GetValue<T>(T defaultValue, Guid? scopeId = null)
{
try
{
@ -163,6 +171,7 @@ namespace MBS.Framework
public void SetValue<T>(T value)
{
mvarValue = value;
_valueSet = true;
}
}
}