예제 #1
0
 get => get_Key(VarKey); set => let_Item(VarKey, value);
예제 #2
0
        //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);
        }