次の方法で共有


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
返される文字列は参照型によって異なります。

参照型

返される値

Assembly

アセンブリ名 (パスおよび拡張子を含まないアセンブリ名)

COM

形式は次のとおりです。

"GUID\major.minor\localeid\wrappertool"

次に例を示します。

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

これは ActiveX Data Objects 2.5 に対する戻り値です。

ネイティブ

参照されるアセンブリのアセンブリ ID。

解説

すべてのコンポーネントには一意識別子があります。この情報は、Identity プロパティで取得されます。コレクション内に既に存在する参照と同じ ID を持つ参照を追加しようとすると例外が発生するため、このプロパティは各参照に対して固有です。このプロパティは、Item メソッドを使用して、Reference3 コレクションのインデックスを作成する場合に適しています。

この例では、開いた Visual Basic または Visual C# プロジェクトにアセンブリと COM 参照を追加し、それぞれの Identity プロパティを表示します。このサンプル コードをアドインとして実行するには、「方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する」を参照してください。

追加する参照の既定のパスは、adodb.dll の場合は <installation root>\Program Files\Microsoft.NET\Primary Interop Assemblies で、spcommon.dll の場合は <installation root>\Program Files\Common Files\SpeechEngines\Microsoft です。例の <file path> は、これらのファイル パスか適切なファイル パスに置き換えてください。

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 セキュリティ

  • 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

関連項目

Reference3 インターフェイス

Identity オーバーロード

VSLangProj80 名前空間