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