NestedContainer Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет базовую реализацию для INestedContainer интерфейса, которая позволяет контейнерам иметь собственный компонент.
public ref class NestedContainer : System::ComponentModel::Container, IDisposable, System::ComponentModel::IContainer, System::ComponentModel::INestedContainer
public ref class NestedContainer : System::ComponentModel::Container, IDisposable, System::ComponentModel::INestedContainer
public ref class NestedContainer : System::ComponentModel::Container, System::ComponentModel::INestedContainer
public class NestedContainer : System.ComponentModel.Container, IDisposable, System.ComponentModel.IContainer, System.ComponentModel.INestedContainer
public class NestedContainer : System.ComponentModel.Container, IDisposable, System.ComponentModel.INestedContainer
public class NestedContainer : System.ComponentModel.Container, System.ComponentModel.INestedContainer
type NestedContainer = class
inherit Container
interface IContainer
interface IDisposable
interface INestedContainer
type NestedContainer = class
inherit Container
interface INestedContainer
interface IContainer
interface IDisposable
Public Class NestedContainer
Inherits Container
Implements IContainer, IDisposable, INestedContainer
Public Class NestedContainer
Inherits Container
Implements IDisposable, INestedContainer
Public Class NestedContainer
Inherits Container
Implements INestedContainer
- Наследование
- Реализации
Комментарии
Класс NestedContainer является простой реализацией INestedContainer интерфейса, который определяет компонент, который логически содержит ноль или более других компонентов и принадлежит родительскому компоненту. Поведение вложенных контейнеров отличается от стандарта Container несколькими способами, включая следующие:
Характеристики сайта, такие как DesignMode и GetService маршрутивируются через сайт собственного компонента.
Свойство сайта Name — это полное имя, включающее имя компонента владения, за которым следует точка (.) и имя дочернего компонента.
GetService обеспечивает поддержку INestedContainer службы как услуги.
При удалении компонента владения контейнер также удаляется.
Кроме того, конструкторы обрабатывают вложенные контейнеры по-разному. Узел конструктора заинтересован только в одном контейнере , связанном с узлом. Поэтому события добавления и удаления компонентов не возникают при добавлении или удалении компонента из вложенного контейнера. Однако, поскольку службы передаются в вложенный контейнер, события изменения компонентов вызываются при изменении компонента в вложенном контейнере.
Это неравенство в отслеживании событий также влияет на функциональные возможности отмены, которые тесно связаны с сериализацией. Стандартный обработчик отмены используется IReferenceService для отслеживания изменений, внесенных в компоненты. Если подсистема отмены не может определить имя компонента через эталонную службу, подсистема будет игнорировать любые изменения для этого компонента. Эта служба автоматически распознает изменения содержащихся компонентов, только если они предоставляются как общедоступные свойства только для чтения того же имени в своих владельцах. В противном случае разработчик должен передать события изменения компонента владельцу. Например, если свойство вложенного компонента Text перезастраивается в качестве свойства в качестве Address свойства, Text при изменении свойства изменение свойства должно быть программно сделано для соответствующего Address свойства или другого изменения, которое не будет отслеживаться отменой.
Конструкторы
| Имя | Описание |
|---|---|
| NestedContainer(IComponent) |
Инициализирует новый экземпляр класса NestedContainer. |
Свойства
| Имя | Описание |
|---|---|
| Components |
Возвращает все компоненты в элементе Container. (Унаследовано от Container) |
| Owner |
Возвращает компонент владения для этого вложенного контейнера. |
| OwnerName |
Возвращает имя компонента владения. |
Методы
| Имя | Описание |
|---|---|
| Add(IComponent, String) |
Добавляет указанный ComponentContainer в него имя и назначает его имя. (Унаследовано от Container) |
| Add(IComponent) |
Добавляет указанный Component в объект Container. Компонент не называется. (Унаследовано от Container) |
| CreateSite(IComponent, String) |
Создает сайт для компонента в контейнере. |
| Dispose() |
Освобождает все ресурсы, используемые параметром Container. (Унаследовано от Container) |
| Dispose(Boolean) |
Освобождает ресурсы, используемые вложенным контейнером. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetService(Type) |
Возвращает объект службы указанного типа, если он доступен. |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| Remove(IComponent) |
Удаляет компонент из .Container (Унаследовано от Container) |
| RemoveWithoutUnsiting(IComponent) |
Удаляет компонент из Container параметра без параметра Site |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
| ValidateName(IComponent, String) |
Определяет, является ли имя компонента уникальным для этого контейнера. (Унаследовано от Container) |