У меня есть свойство, которое возвращает интерфейс. Во время отладки я могу разбить то, что было возвращено, и, хотя это интерфейс, Visual Studio достаточно умен, чтобы знать производный тип, которым он на самом деле является. Я предполагаю, что это использует отражение или что-то. Я не уверен. У меня вопрос, могу ли я иметь ту же самую информацию, доступную мне во время выполнения, чтобы я мог создать переменную соответствующего типа и привести интерфейс как этот? Вот что я говорю:
IPreDisplay preDisplay = cb.PreDisplay;
Если preDisplay - это RedPreDisplay, я бы хотел иметь возможность кодировать
RedPreDisplay tmp = preDisplay as RedPreDisplay;
Или, если preDisplay был GreenPreDisplay ...
GreenPreDisplay tmp = preDisplay as GreenPreDisplay;
и т.д ...
Я хотел бы, по возможности, избежать беспорядочного переключения, и если бы я мог использовать непатентованные формы, это было бы здорово.
Если у вас есть какие-либо советы или примеры того, как я могу это сделать, пожалуйста, поделитесь.