This documentation is archived and is not being maintained.

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 IDictionary<AddInSegmentType, IDictionary<string, string>> QualificationData { get; }

Property Value

Type: System.Collections.Generic.IDictionary<AddInSegmentType, IDictionary<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<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"))
	// Create an external process.
	AddInProcess external = new AddInProcess();

    // Activate an add-in in the new process
    // with the full trust security level.
    Calculator CalcAddIn5 =
	Console.WriteLine("Add-in activated per qualification data.");
	Console.WriteLine("This add-in is not designated to be activated in a new process.");

.NET Framework

Supported in: 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

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.