Преобразование к Fore-классам

В некоторых случаях при разработке пользовательских проектов может возникнуть необходимость расширения свойств (методов) стандартной формы за счет применения наследования от пользовательских классов или интерфейсов. В дальнейшем для доступа к пользовательским свойствам (методам), необходимо осуществлять приведение к пользовательскому классу или интерфейсу. Если по ходу программы однозначно нельзя определить, может ли какая-либо форма быть приведена к пользовательскому классу (интерфейсу), то необходимо осуществлять проверку на возможность преобразования с использованием операции Is. Рассмотрим типичный вариант проверки на примере MDI-приложения.

Пример

Для выполнения примера предполагается наличие главной MDI-формы и нескольких дочерних MDI-форм. Главная MDI-форма содержит панель инструментов, содержащую две кнопки. Одна из дочерних MDI-форм содержит расширение за счет пользовательского интерфейса IUserInterface. В интерфейсе описано одно свойство, реализация свойства представлена в классе формы. Возможный код форм представлен ниже:

После выполнения примера при нажатии кнопок панели инструментов главной MDI-формы, будет осуществляться проверка на возможность приведения активной дочерней MDI-формы к пользовательскому интерфейсу IUserInterface. Если преобразование возможно, то в зависимости от нажатой кнопки, будет считываться, либо устанавливаться значение свойства «UserProp», описанного в интерфейсе IUserInterface. При считывании значение будет выводиться в заголовок формы. В качестве устанавливаемого значения будет случайное вещественное число.

См. также:

Операции над объектами | As | Is