private static IConfigurationSection GetSectionByEntry(IConfigurationRoot root, Type type)
        {
            MicroStrutLibraryExceptionHelper.IsNull(type, typeof(IConfigurationRootExtensions).FullName, LogLevel.Error, $"类型为空!");

            ConfigurationEntryAttribute attribute = type.GetTypeInfo().GetCustomAttribute <ConfigurationEntryAttribute>(false);

            MicroStrutLibraryExceptionHelper.IsNull(attribute, typeof(IConfigurationRootExtensions).FullName, LogLevel.Error, $"属性类型为空!");

            return(root.GetSection(attribute.Path));
        }
        public static object GetByEntry(this IConfigurationRoot root, Type type)
        {
            MicroStrutLibraryExceptionHelper.IsNull(type, typeof(IConfigurationRootExtensions).FullName, LogLevel.Error, $"类型为空!");

            ConfigurationEntryAttribute attribute = type.GetTypeInfo().GetCustomAttribute <ConfigurationEntryAttribute>(false);

            MicroStrutLibraryExceptionHelper.IsNull(attribute, typeof(IConfigurationRootExtensions).FullName, LogLevel.Error, $"属性类型为空!");

            var data = root.GetSection(attribute.Path).Get(type);

            if (data == null && attribute.Default)
            {
                data = Activator.CreateInstance(type);
            }

            return(data);
        }