public class SettingViewsProvider { private static BoolView _boolView; private static IntView _intView; private static FloatView _floatView; private static StringView _stringView; private static SignalView _signalView; public static void Inject(SettingViewSet viewSet) { _boolView = viewSet.boolView; _intView = viewSet.intView; _floatView = viewSet.floatView; _stringView = viewSet.stringView; _signalView = viewSet.signalView; } public static BaseSettingView GetViewBySetting(SettingDTO setting) { return setting.Type switch { Setting.SettingType.Bool => _boolView, Setting.SettingType.Float => _floatView, Setting.SettingType.Signal => _signalView, Setting.SettingType.String => _stringView, Setting.SettingType.Int => _intView, _ => _boolView }; } }