This documentation is archived and is not being maintained.

How to: Extend Component Containers

Component containers are completely extensible. You can inherit from the Container class and add properties or methods, add custom functionality to enforce rules, override base methods, or any other custom functionality you want your container to incorporate. For details on containers and extending containers, see Containers, Sites, and Components.

You extend a Container as you would extend any base class. You create a class that inherits the properties of the base class, override any base methods that you want to extend, and add any additional properties or methods that you need. You can then use your new class as you would a standard Container and use any of the new functionality you have encoded.

To extend the Container base class

  1. Declare a new class that inherits from the Container class.

    class myContainer: System.ComponentModel.Container
  2. Override any base-class methods to add additional functionality. The following example shows how to override the Add method.

    Note Note

    The Container actually has two overloads of Add, and in this example, you would want to provide an override of each.

    public override void Add(System.ComponentModel.IComponent component)
       if (component is Widget)
          throw(new NonWidgetException());
  3. Add any new properties or methods you want your new container to incorporate.