This documentation is archived and is not being maintained.

IExtensibleObject<T> Interface

Enable an object to participate in custom behavior, such as registering for events, or watching state transitions.

Namespace:  System.ServiceModel
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

public interface IExtensibleObject<T>
where T : Object, IExtensibleObject<T>

Type Parameters

T

The type of the extension class.

The IExtensibleObject<T> type exposes the following members.

  NameDescription
Public propertySupported by Portable Class LibraryExtensionsGets a collection of extension objects for this extensible object.
Top

Implement IExtensibleObject<T> to enable aggregation of extensions.

For example, if you are implementing a TreeNode class and want to allow external code to add annotations and methods to some instances of TreeNode, you can have TreeNode implement IExtensibleObject<TreeNode>. This enables code that uses TreeNode to add objects that implement IExtensibleObject<TreeNode> to the Extensions collection.

There are four extensible objects in :

For a discussion about how to create extension to work with these objects, see Extensible Objects.

.NET Framework

Supported in: 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Show: