namespace EgwCoreLib.Lux.Core
{
///
/// Generico dizionario parametri con funzione ricerca valore (SE presente)
///
public class ParamDict
{
#region Public Constructors
///
/// init classe dal valore serializzato del dizionario
///
///
public ParamDict(string rawVal)
{
DictVals = JsonConvert.DeserializeObject>(rawVal) ?? new Dictionary();
}
///
/// init classe da dizionario
///
///
public ParamDict(Dictionary newDict)
{
DictVals = newDict;
}
#endregion Public Constructors
#region Public Properties
///
/// Versione serializzata del dizionario
///
public string Serialized
{
get => JsonConvert.SerializeObject(DictVals);
}
#endregion Public Properties
#region Public Methods
///
/// Ricerca (se disponibile) il valore della chiave richiesta
///
///
///
public string GetVal(string reqKey)
{
string answ = "";
if (DictVals.ContainsKey(reqKey))
{
answ = DictVals[reqKey];
}
return answ;
}
///
/// Imposta valore (aggiungendo se mancasse)
///
///
///
public void SetVal(string Key, string Val)
{
if (DictVals.ContainsKey(Key))
{
DictVals[Key] = Val;
}
else
{
DictVals.Add(Key, Val);
}
}
#endregion Public Methods
public Dictionary DictReadOnly
{
get => DictVals;
}
#region Private Properties
///
/// Dizionario interno valori
///
private Dictionary DictVals { get; set; } = new Dictionary();
#endregion Private Properties
}
}