Reference3.Identity - свойство
Возвращает уникальный идентификатор ссылки.
Пространство имен: VSLangProj80
Сборка: VSLangProj80 (в VSLangProj80.dll)
Синтаксис
'Декларация
ReadOnly Property Identity As String
string Identity { get; }
property String^ Identity {
String^ get ();
}
abstract Identity : string
function get Identity () : String
Значение свойства
Тип: System.String
Возвращаемая строка зависит от ссылочного типа.
Ссылочный тип |
Возвращаемое значение |
---|---|
Сборка |
Имя сборки (имя сборки без пути и без расширения) |
COM |
Формат: "GUID\основной_номер_версии.дополнительный_номер_версии\код_языка\инструмент_создания_оболочек" Например: "{00000205-0000-0010-8000-00AA006D2EA4}\2.5\409\tlbimp" возвращается для объектов данных ActiveX 2.5. |
Машинный код |
Идентификация сборки, на которую указывает ссылка. |
Заметки
Все компоненты имеют уникальный идентификатор.Свойство Identity возвращает данную информацию.Данное свойство уникально для каждой ссылки, поскольку при попытке добавить ссылку с уже существующей в коллекции идентификацией возникает исключение.Это свойство подходит для индексирования коллекции Reference3 с помощью метода Item.
Примеры
В данном примере добавляются сборка и COM-ссылка в открытый проект Visual Basic или Visual C# и для каждой из них отображается свойство 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 or C# 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);
}
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.