InstanceDependencyProperty Class

Enables property sharing by the executing instances of an activity.

Inheritance Hierarchy

System.Object
  Microsoft.Rtc.Workflow.Activities.InstanceDependencyProperty

Namespace:  Microsoft.Rtc.Workflow.Activities
Assembly:  Microsoft.Rtc.Workflow (in Microsoft.Rtc.Workflow.dll)

Syntax

'Declaration
<SerializableAttribute> _
Public NotInheritable Class InstanceDependencyProperty
'Usage
Dim instance As InstanceDependencyProperty
[SerializableAttribute]
public sealed class InstanceDependencyProperty

Remarks

When an activity runs, a new instance may be created. Using an InstanceDependencyProperty ensures that the value of a property that is changed on the new instance will be kept in sync with the value of the property on the original activity. InstanceDependencyProperties are registered in the same way DependencyProperties are. An example is as follows:

The property is associated with the GetAndConfirm class, is of type TimeSpan and has a default value of Globals.DefaultIncompleteTimeout. The GetAndConfirm class must contain a (normal .Net) property called IncompleteTimeout. This property stores and retrieves values from the InstanceDependencyProperty as follows:

Objects associated with an InstanceDependencyProperty (in the example above GetAndConfirm) must implement the IInstanceDependencyObject interface.

Using a default value negatively impacts performance. The value will be cloned before being used. The cloning process is usually slow. If you are sure that the property will be used (and that the cloning will take place), it is better to use SetValue to set the value. The value can then be retrieved without cloning.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

InstanceDependencyProperty Members

Microsoft.Rtc.Workflow.Activities Namespace