_DTE.GetObject メソッド
更新 : 2007 年 11 月
DTE オブジェクトに遅延バインディングされ、実行時に名前でアクセスできるインターフェイスまたはオブジェクトを取得します。
名前空間 : EnvDTE
アセンブリ : EnvDTE (EnvDTE.dll 内)
構文
'宣言
Function GetObject ( _
Name As String _
) As Object
'使用
Dim instance As _DTE
Dim Name As String
Dim returnValue As Object
returnValue = instance.GetObject(Name)
Object GetObject(
string Name
)
Object^ GetObject(
[InAttribute] String^ Name
)
function GetObject(
Name : String
) : Object
パラメータ
Name
型 : System.String必ず指定します。取得するオブジェクトの名前。
戻り値
型 : System.Object
DTE オブジェクトに遅延バインディングされたインターフェイスまたはオブジェクト。
解説
GetObject は、事前バインディングをサポートしていない言語において役立ちます。この場合は、DTE.GetObject("VCProjects") のように、特定のインターフェイスまたはオブジェクトに名前を付けることができます。
IExtenderSite.GetObject で Name パラメータに指定できる値は "DTE" だけです。これは、拡張プロバイダで DTE オブジェクトを取得できるようにするために用意されています。
例
Sub GetObjectExample(ByVal dte As DTE2)
' NOTE: This example requires a reference to the
' Microsoft.VisualStudio.VCCodeModel namespace.
Dim idents() As String = {"short", "class", "void", "var"}
Dim langMan As VCLanguageManager = _
CType(dte.GetObject("VCLanguageManager"), VCLanguageManager)
' Validate the names in idents.
Dim name, msg As String
For Each name In idents
If langMan.ValidateIdentifier(name) Then
msg &= """" & name & """ is a valid identifier." & vbCrLf
Else
msg &= """" & name & """ is not a valid identifier." & _
vbCrLf
End If
Next
MsgBox(msg)
End Sub
public void GetObjectExample(DTE2 dte)
{
// NOTE: This example requires a reference to the
// Microsoft.VisualStudio.VCCodeModel namespace.
string[] idents = {"short", "class", "void", "var"};
VCLanguageManager langMan =
(VCLanguageManager)dte.GetObject("VCLanguageManager");
// Validate the names in idents.
string msg = "";
foreach (string name in idents)
{
if (langMan.ValidateIdentifier(name))
msg += "\"" + name + "\" is a valid identifier." +
Environment.NewLine;
else
msg += "\"" + name + "\" is not a valid identifier." +
Environment.NewLine;
}
MessageBox.Show(msg);
}
アクセス許可
- 直前の呼び出し元に対する完全な信頼。このメンバは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。