Context.RegisterDynamicProperty Method (IDynamicProperty, ContextBoundObject, Context)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

This API supports the product infrastructure and is not intended to be used directly from your code.

Registers a dynamic property implementing the IDynamicProperty interface with the remoting service.

Namespace:   System.Runtime.Remoting.Contexts
Assembly:  mscorlib (in mscorlib.dll)

[SecurityPermissionAttribute(SecurityAction.Demand, Flags = SecurityPermissionFlag.Infrastructure)]
public static bool RegisterDynamicProperty(
	IDynamicProperty prop,
	ContextBoundObject obj,
	Context ctx


Type: System.Runtime.Remoting.Contexts.IDynamicProperty

The dynamic property to register.

Type: System.ContextBoundObject

The object/proxy for which the property is registered.

Type: System.Runtime.Remoting.Contexts.Context

The context for which the property is registered.

Return Value

Type: System.Boolean

true if the property was successfully registered; otherwise, false.

Exception Condition

Either prop or its name is null, or it is not dynamic (it does not implement IDynamicProperty).


Both an object as well as a context are specified (both obj and ctx are not null).

Based on obj and ctx, prop is asked to contribute a sink that is placed at some location in the path of remoting calls. If multiple properties are registered, their sinks will be called in an arbitrary order that can change between calls.

If obj is not null, and then if it is a proxy, all calls made on the proxy are intercepted. Otherwise, if obj is a real object, all calls on the object are intercepted. The ctx parameter must be null.

If ctx is not null, obj must be null and all calls entering and leaving the context are intercepted.

If both ctx and obj are null, all calls entering and leaving all contexts are intercepted.


for plugging code into the CLR infrastructure. Associated enumeration: SecurityPermissionFlag.Infrastructure.

.NET Framework
Available since 1.1
Return to top