get => get_Key(VarKey); set => let_Item(VarKey, value);
//Option based; in the second array, it is sufficient for one of the elements to exists in environment variable to succeed. public static bool GetEnvironmentVariables( out Dictionary <string, string> _ParsedResult, IEnumerable <IEnumerable <string> > _VaribleKeysOptions, Action <string> _ErrorMessageAction) { if (_VaribleKeysOptions == null) { _ParsedResult = null; _ErrorMessageAction?.Invoke("BUtility->GetRequiredEnvironmentVariables: Input _VaribleKeysOptions is null."); return(false); } var Count = _VaribleKeysOptions.Count(); if (Count == 0) { _ParsedResult = null; _ErrorMessageAction?.Invoke("BUtility->GetRequiredEnvironmentVariables: Input _VaribleKeysOptions does not have a key."); return(false); } /* * Getting environment variables */ _ParsedResult = new Dictionary <string, string>(Count); try { foreach (var VarKey in _VaribleKeysOptions) { if (VarKey.Count() == 0) { _ParsedResult = null; _ErrorMessageAction?.Invoke("BUtility->GetRequiredEnvironmentVariables: Some required environment variable options are not set."); return(false); } bool bFound = false; foreach (var OptionKey in VarKey) { _ParsedResult[OptionKey] = Environment.GetEnvironmentVariable(OptionKey); if (_ParsedResult[OptionKey] != null) { bFound = true; } } if (!bFound) { _ParsedResult = null; _ErrorMessageAction?.Invoke("BUtility->GetRequiredEnvironmentVariables: Some required environment variables are not set."); return(false); } } } catch (Exception e) { _ParsedResult = null; _ErrorMessageAction?.Invoke("BUtility->GetRequiredEnvironmentVariables: Failure during getting required environment variables: " + e.Message); return(false); } return(true); }