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


Reference3.Identity - свойство

Обновлен: Ноябрь 2007

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

Пространство имен:  VSLangProj80
Сборка:  VSLangProj80 (в VSLangProj80.dll)

Синтаксис

'Декларация
ReadOnly Property Identity As String
'Применение
Dim instance As Reference3
Dim value As String

value = instance.Identity
string Identity { get; }
property String^ Identity {
    String^ get ();
}
function get Identity () : String

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

Тип: System.String
Возвращаемая строка зависит от ссылочного типа.

Ссылочный тип

Возвращаемое значение

Сборка

Имя сборки (имя сборки без пути и без расширения)

COM

Формат:

"GUID\основной_номер_версии.дополнительный_номер_версии\код_языка\инструмент_создания_оболочек"

Например:

"{00000205-0000-0010-8000-00AA006D2EA4}\2.5\409\tlbimp"

возвращается для объектов данных ActiveX 2.5.

Native

Идентификация сборки, на которую делается ссылка.

Реализации

Reference2.Identity

Заметки

Все компоненты имеют уникальный идентификатор. Свойство Identity возвращает данную информацию. Данное свойство уникально для каждой ссылки, поскольку при попытке добавить ссылку с уже существующей в коллекции идентификацией возникает исключение. Это свойство подходит для индексирования коллекции Reference3 с помощью метода Item.

Примеры

В данном примере в открытый проект Visual Basic, Visual C# или Visual J# добавляется сборка и ссылка COM, а затем показывается свойство Identity для каждой из них. О том, как выполнить этот пример в качестве надстройки, см. в разделе Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации.

Пути по умолчанию для добавляемой ссылки: <корневая папка установки>\Program Files\Microsoft.NET\Primary Interop Assemblies для adodb.dll и <корневая папка установки>\Program Files\Common Files\SpeechEngines\Microsoft для spcommon.dll. Замените <путь к файлу> в примере этими или другими подходящими путями.

Imports VSLangProj
Imports VSLangProj2
Imports VSLangProj80
Public Sub OnConnection(ByVal application As Object,_
 ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
 ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    applicationObject = CType(application, DTE2)
    addInInstance = CType(addInInst, AddIn)
    ShowIdentity (applicationObject)
End Sub
Sub ShowIdentity(ByVal dte As DTE2)
    Dim aProject As Project
    Dim aVSProject As VSProject2
    aProject = applicationObject.Solution.Projects.Item(1)
    aVSProject = _
CType(applicationObject.Solution.Projects.Item(1).Object, VSProject2)
    ' Add an Assembly reference and display its identity.
    Dim newRef As Reference3
    ' Replace the <file path> with an actual file path.
    newRef = aVSProject.References.Add("<file path>\adodb.dll")
    MsgBox("Added an Assembly reference, named: " & newRef.Name)
    MsgBox("The Identity of " & newRef.Name & " is " & newRef.Identity)
    ' Add a COM reference and display its identity.
    ' Replace the <file path> with an actual file path.
    newRef = aVSProject.References.Add("<file path>\spcommon.dll")
    MsgBox("Added a COM reference, named: " & newRef.Name)
    MsgBox("The Identity of " & newRef.Name & " is " & newRef.Identity)
End Sub
using System.Windows.Forms;
using VSLangProj;
using VSLangProj2;
using VSLangProj80;
public void OnConnection(object application,
 ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
    applicationObject = (DTE2)application;
    addInInstance = (AddIn)addInInst;
    ShowIdentity(((DTE2)applicationObject));
}
public void ShowIdentity(DTE2 dte)
{
    // The first project is a Visual Basic, C#, or J# project.
    VSProject2 vsProject = 
((VSProject2)(applicationObject.Solution.Projects.Item(1).Object));
    Reference3 aRef = null;
    // Add an Assembly reference and display its identity.
    // Replace <file path> with an actual file path.
    aRef = (Reference3)vsProject.References.Add
(@"<file path>\adodb.dll");
    MessageBox.Show("Added an Assembly reference, named: " 
+ aRef.Name);
    MessageBox.Show("The Identity of " + aRef.Name + " is " 
+ aRef.Identity);
    // Add a COM reference and display its identity.
    // Replace <file path> with an actual file path.
    aRef = (Reference3)vsProject.References.Add
(@"<file path>\spcommon.dll");
    MessageBox.Show("Added a COM reference, named: " 
+ aRef.Name);
    MessageBox.Show("The Identity of " + aRef.Name + " is " 
+ aRef.Identity);
}

Разрешения

См. также

Ссылки

Reference3 Интерфейс

Reference3 - члены

Identity - перегрузка

VSLangProj80 - пространство имен