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 } }