public static IConfigProvider Create(string fileName)
        {
            ConfigProviderBase provider = null;

            switch (ProviderType)
            {
            case ConfigProviderTypes.All:
                provider = new ConfigProviderAll(
                    new ConfigProviderAllInput[]
                {
                    new ConfigProviderAllInput()
                    {
                        Provider    = new ConfigProviderXml(fileName),
                        AccessTypes = ConfigProviderAccessTypes.Read | ConfigProviderAccessTypes.Write
                    },
                    new ConfigProviderAllInput()
                    {
                        Provider    = new ConfigProviderRegistry(),
                        AccessTypes = ConfigProviderAccessTypes.Write
                    }
                });
                break;

            case ConfigProviderTypes.Registry:
                provider = new ConfigProviderRegistry();
                break;

            default:
                provider = new ConfigProviderXml(fileName);
                break;
            }

            return(provider);
        }
 private void FindDefaultReader()
 {
     for (int i = 0; i < _length; i++)
     {
         ConfigProviderAllInput input = _inputs[i];
         if (input.IsReadable)
         {
             _defaultReader = input.Provider;
             break;
         }
     }
 }