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 для структуры .