/// <summary>
        /// Attempts to parse the supplied arguments into the specified class through a parser registered in <see cref="StaticSettingParserRegistry"/>.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="s"></param>
        /// <param name="result"></param>
        /// <returns></returns>
        public static bool TryParseStaticSetting <T>(string s, out T result) where T : class, new()
        {
            if (!ParseArgs.TryParse(s, out var args))
            {
                result = default;
                return(false);
            }

            var instance  = new T();
            var parser    = StaticSettingParserRegistry.Instance.Retrieve <T>();
            var response  = parser.Parse(instance, args);
            var isSuccess = response.IsSuccess && !parser.GetNeededSettings(instance).Any();

            result = isSuccess ? instance : default;
            return(isSuccess);
        }