Я смотрю на то, как решить проблему, и я даже не уверен, что это может быть вообще возможно в C# & .NET 3.5:C# Как сгенерировать объект, реализующий разные интерфейсы динамически во время выполнения?
Скажем, у меня есть ограниченное количество интерфейсов, каждый из которых описывает конкретный, несвязанный набор методов. Теперь у меня есть ряд реальных устройств, каждый из которых может реализовать только подмножество этих интерфейсов.
Во время настройки связи с этими устройствами они расскажут мне, какие у них есть возможности. Теперь я хотел бы создать объект, реализующие интерфейсы (каждую напоминающие один способность устройства), так что выше в моей архитектуре приложения я могу:
- писать код против вышеупомянутых интерфейсов
- теста если этот сгенерированный объект реализует определенный интерфейс, чтобы проверить, поддерживаются ли определенные действия.
Я не уверен, какой подход подходит для решения этой проблемы. Любые комментарии или подходы наиболее приветствуются!
Во-первых, благодарю вас всех за ваши комментарии и предложения. Очень ценим! Хорошо, мне кажется, я должен немного подробнее остановиться на проблеме, с которой я столкнулся. У меня есть определенное количество возможностей, например. CanMakeCoffe, CanCleanKitchen и т. Д. Есть некоторые возможности, которые будут реализованы большинством устройств, например. CanMakeCoffee. То, что я хотел бы избежать, чтобы определить где-то в классах исходного кода для этих устройств, как в CDeviceOne: ICanMakeCoffee, ICanCleanKitchen CDeviceTwo: ICanMakeCoffee –
Я предпочел бы иметь устройство сказать мне, когда они соединяются, что они могут сделать и я бы тогда создал объект, который напоминает их способности. В этом смысл? –