В моем проекте у меня есть 2 интерфейса.Объявление класса общего класса
IButtonInputHandler<T>
& INumericInputHandler<T>
Теперь я хочу, чтобы создать класс, который получает первый интерфейс \ второго интерфейса \ оба из них и предоставляют методы, основанные на их типах. Например, если я создаю класс с IButtonInputHandler<Buttons>
и INumericInputHandler<Scroller>
, я хочу выставить две функции, которые получают объекты Button и Scroller.
Если я создаю класс только с IButtonInputHandler<Keys>
, я хочу выставить функцию, которая получит объект Buttons.
Чтобы было ясно - если я оставлю возможность использовать 2 типа динамически мой класс будет выглядеть следующим образом:
Class<T>
и метод вернет Т.
В принципе мне нужна гибкость иногда использовать 1, а иногда и 2 типа.
Что вы подразумеваете под «построить класс»? Понимаете ли вы, что члены, доступные в типе, определяются * типом * во время компиляции, а не зависят от чего-либо, доступного во время выполнения? (Вы можете заставить некоторых членов исключить исключение, но сами участники все равно будут присутствовать ...) –
жаль, что не ясна. класс не генерируется во время выполнения. это позволить другим программистам использовать класс в своем коде с их выбором интерфейсов или интерфейсов. –
Я думаю, что определение интерфейса, который имеет желаемое поведение для comp –