Поделиться через


AddInToken.QualificationData Свойство

Определение

Возвращает словарь данных о сегментах в конвейере, связанных с текущим токеном.

public:
 property System::Collections::Generic::IDictionary<System::AddIn::Hosting::AddInSegmentType, System::Collections::Generic::IDictionary<System::String ^, System::String ^> ^> ^ QualificationData { System::Collections::Generic::IDictionary<System::AddIn::Hosting::AddInSegmentType, System::Collections::Generic::IDictionary<System::String ^, System::String ^> ^> ^ get(); };
public System.Collections.Generic.IDictionary<System.AddIn.Hosting.AddInSegmentType,System.Collections.Generic.IDictionary<string,string>> QualificationData { get; }
member this.QualificationData : System.Collections.Generic.IDictionary<System.AddIn.Hosting.AddInSegmentType, System.Collections.Generic.IDictionary<string, string>>
Public ReadOnly Property QualificationData As IDictionary(Of AddInSegmentType, IDictionary(Of String, String))

Значение свойства

Словарь, где ключи — это сегменты конвейера, а значения — это словари пар имя-значение, представляющие квалификационные данные для каждого сегмента.

Примеры

В следующем примере показано, как проверить квалификационные данные надстройки.

// 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 =
        selectedToken.Activate<Calculator>(external,
        AddInSecurityLevel.FullTrust);
    Console.WriteLine("Add-in activated per qualification data.");
}
else
{
    Console.WriteLine("This add-in is not designated to be activated in a new process.");
}
' 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, _
            AddInSecurityLevel.FullTrust)
    Console.WriteLine("Add-in activated per qualification data.")
Else
    Console.WriteLine("This add-in is not designated to be activated in a new process.")
End If

Комментарии

Используйте это свойство для получения данных, которые были применены к сегментам конвейера с атрибутом QualificationDataAttribute . Эти данные можно использовать для идентификации типов, составляющих конвейеры, и работы с ним.

Это свойство возвращает словарь словарей. Верхний словарь всегда содержит шесть ключей. Каждый ключ является значением AddInSegmentType для сегмента в конвейере. Каждое значение является универсальным IDictionary<TKey,TValue> типом строк со строковыми ключами, содержащими квалификационные данные сегмента.

Ключи и значения этих внутренних словарей — это имена и значения, указанные QualificationDataAttribute в атрибутах для сегментов. Если к сегменту не применены квалификированные данные, его словарь пуст.

Примечание

Модель надстройки не использует данные квалификации, которые применяются к представлению ведущего приложения. В результате словарь для AddInSegmentType.HostViewOfAddIn всегда пуст.

Кроме того, можно получить данные квалификации, перечислив AddInToken как если бы это была коллекция QualificationDataItem структур, с помощью foreach оператора (For Each в Visual Basic, for each в Visual C++). См. пример, предоставленный QualificationDataItem для структуры .

Применяется к