public void Initialize()

in src/MySqlExtensionConfigProvider.cs [52:75]


        public void Initialize(ExtensionConfigContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }
            ILogger logger = this._loggerFactory.CreateLogger(LogCategories.Bindings);
            // Only enable MySQL Client logging when VerboseLogging is set in the config to avoid extra overhead when the
            // detailed logging it provides isn't needed
            if (this.mysqlClientListener == null && Utils.GetConfigSettingAsBool(VerboseLoggingSettingName, this._configuration))
            {
                this.mysqlClientListener = new MySqlClientListener(logger);
            }
            LogDependentAssemblyVersions(logger);
#pragma warning disable CS0618 // Fine to use this for our stuff
            FluentBindingRule<MySqlAttribute> inputOutputRule = context.AddBindingRule<MySqlAttribute>();
            var converter = new MySqlConverter(this._configuration);
            inputOutputRule.BindToInput(converter);
            inputOutputRule.BindToInput<string>(typeof(MySqlGenericsConverter<string>), this._configuration, logger);
            inputOutputRule.BindToCollector<MySQLObjectOpenType>(typeof(MySqlAsyncCollectorBuilder<>), this._configuration, logger);
            inputOutputRule.BindToInput<OpenType>(typeof(MySqlGenericsConverter<>), this._configuration, logger);

            context.AddBindingRule<MySqlTriggerAttribute>().BindToTrigger(this._triggerProvider);
        }