It'd be nice if AppSettingsProvider, BooleanSqlServerProvider, ect. allowed modifying how it determines the key for a feature toggle. Right now it uses the class name and there are situations where being bound to the class name is inconvenient (friendly names or enum based feature toggle).
The logic can be placed in a protected virtual method or a function could be passed into the constructor. I suggest using a virtual method to keep the constructor simple as the providers don't necessarily depend on the function.
It'd be nice if AppSettingsProvider, BooleanSqlServerProvider, ect. allowed modifying how it determines the key for a feature toggle. Right now it uses the class name and there are situations where being bound to the class name is inconvenient (friendly names or enum based feature toggle). The logic can be placed in a protected virtual method or a function could be passed into the constructor. I suggest using a virtual method to keep the constructor simple as the providers don't necessarily depend on the function.