AddInToken.QualificationData Property

Gets a dictionary of data about the segments in the pipeline associated with the current token.

Namespace:  System.AddIn.Hosting
Assembly:  System.AddIn (in System.AddIn.dll)

Public ReadOnly Property QualificationData As IDictionary(Of AddInSegmentType, IDictionary(Of String, String))

Property Value

Type: System.Collections.Generic.IDictionary(Of AddInSegmentType, IDictionary(Of String, String))
A dictionary whose keys are pipeline segments and whose values are dictionaries of name/value pairs that represent qualification data for each segment.

Use this property to obtain data that has been applied to pipeline segments with the QualificationDataAttribute attribute. You can use this data to identify and work with the types that compose your pipelines.

This property returns a dictionary of dictionaries. The top dictionary always has six keys. Each key is an AddInSegmentType value for a segment in the pipeline. Each value is a generic IDictionary(Of TKey, TValue) of strings with string keys that contains the segment's qualification data.

The keys and values of these inner dictionaries are the names and values specified in the QualificationDataAttribute attributes for the segments. If no qualification data has been applied to a segment, its dictionary is empty.


The add-in model does not use qualification data that is applied to the host view of the add-in. As a result, the dictionary for AddInSegmentType.HostViewOfAddIn is always empty.

Alternatively, you can obtain qualification data by enumerating an AddInToken as if it were a collection of QualificationDataItem structures, using a foreach statement (For Each in Visual Basic, for each in Visual C++). See the example provided for the QualificationDataItem structure.

The following example shows how to examine an add-in's qualification data.

' Use qualification data to control 
' how an add-in should be activated. 

If selectedToken.QualificationData(AddInSegmentType.AddIn)("Isolation").Equals("NewProcess") Then 
    ' Create an external process. 
    Dim external As AddInProcess = New AddInProcess

    ' Activate an add-in in an automatically generated 
    ' application domain with a full trust security level. 
    Dim CalcAddin5 As Calculator = _
        selectedToken.Activate(Of Calculator)(external, _
    Console.WriteLine("Add-in activated per qualification data.")
    Console.WriteLine("This add-in is not designated to be activated in a new process.")
End If

.NET Framework

Supported in: 4.5.3, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2014 Microsoft