Creating an Instance of an Interceptable Target Class

Retired Content

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

The latest Enterprise Library information can be found at the Enterprise Library site.

You can use the Policy Injection Application Block factory methods to create an instance of any class that is interceptable or wrap an existing instance of any class that is interceptable. The term "interceptable" describes classes that can be policy-enabled using the built-in interception mechanism. Interceptable objects are those that do one of the following:

  • Derive from the class MarshalByRefObject. The Policy Injection Application Block can intercept and add handlers to public methods and properties of classes that inherit from the abstract base class MarshalByRefObject. The .NET Framework uses this class for objects that exchange messages across domain boundaries using remoting.
  • Implement an interface. The Policy Injection Application Block can intercept and add handlers to public methods and properties defined in the interface that classes implement.

The Policy Injection Application Block factory class provides two methods for creating or obtaining object instances:

  • Create. This method creates a new instance of a policy-enabled interceptable target object.
  • Wrap. This method adds policies to an existing interceptable target object instance.

Alternatively, you can use Unity and its general-purpose object creation mechanism, which includes interception as one of the available features you can use, to customize how the objects you want are created.

For more information about how you can use the Create and Wrap methods, see the following topics: