Свойство islnitialized

событие b initialized b типа

Свойство Islnitialized Возвращает булево значение, показывающее, завершил ли компонент, реализующий интерфейс, свою инициализацию. Событие Initialized Типа EventHandler Запускается компонентом при завершении инициализации. Таким образом, если некоторый компонент зависит от инициализации другого компонента, первый компонент может проверить у другого компонента наличие реализации этого интерфейса. Если он находит интерфейс, он может проверить, завершил ли уже второй компонент свою инициализацию, и если нет, подписаться на событие Initialized, Чтобы получить уведомление, когда это произойдет. Код листинга 7.3 показывает пример того, как ISupportlnitializeNotification Используется в методе Endlnit Компонента BindingSource. Комментарии, которые я добавил к листингу 7.3, описывают, что происходит. Когда вызывается Endlnit Компонента BindingSource, Последний проверяет объект, установленный в качестве его DataSouce, На наличие реализации интерфейса ISupportlnitializeNotification . Если интерфейс присутствует, через его свойство Islnitialized Проверяется, завершил ли объект свою инициализацию. Если нет, компонент подписывается на событие Initialized Объекта и больше ничего в методе Endlnit Не делает. Если объект источника данных уже завершил свою инициализацию или не реализует интерфейс, то метод завершает процесс инициализации, вызывая EndlnitCore, В котором производится вся действительная работа по завершению инициализации. Если объект поддерживает интерфейс и показывает, что еще не завершил свою инициализацию, то BindingSource Ждет, пока объект не запустит событие Initialized, И тогда заканчивает свою собственную инициализацию вызовом EndlnitCore. Кроме того, обработчик события Initialized Отписывается от этого события, поскольку в данном сценарии инициализации оно не должно запускаться более одного раза. Итак, если вы реализуете класс, который может использоваться в качестве источника данных, и этому классу необходима реализация ISupportlnitialize Для контроля взаимосвязанных свойств, то вы должны также реализовать интерфейс ISupportlnitializeNotification, Возвращая False В свойстве Isinitialized, Пока вы находитесь в процессе инициализации , И запуская событие Initialized Для любых подписчиков, когда вы закончите инициализацию

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *