CodeClass.DTE プロパティ
トップ レベルの機能拡張オブジェクトを取得します。
名前空間: EnvDTE
アセンブリ: EnvDTE (EnvDTE.dll 内)
構文
'宣言
ReadOnly Property DTE As DTE
DTE DTE { get; }
property DTE^ DTE {
DTE^ get ();
}
abstract DTE : DTE
function get DTE () : DTE
プロパティ値
型 : EnvDTE.DTE
DTE オブジェクト。
解説
Visual Studio では、DTE がオートメーション モデルのルート オブジェクトです。他のオブジェクト モデルでは、多くの場合、"アプリケーション" と呼ばれています。
[!メモ]
特定の種類の編集を行った後に、クラス、構造体、関数、属性、デリゲートなどのコード モデル要素の値を決定できないことがあります。つまり、これらの要素の値は、信頼できる値ではなく、常に同じ値になるとは限りません。詳細については、「コード モデルを使用したコードの調査 (Visual Basic)」で、コード モデル要素値を変更する方法についての説明を参照してください。
例
Public Sub CodeClassExample(ByVal dte As DTE2)
' Before running this example, open a code document from a
' project and place the insertion point inside a class definition.
Try
Dim objTextSel As TextSelection
Dim objCodeCls As CodeClass
objTextSel = CType(dte.ActiveDocument.Selection, TextSelection)
objCodeCls = CType(objTextSel.ActivePoint.CodeElement(vsCMElement.vsCMElementClass), CodeClass)
' Add comments to CodeClass objCodeClass - notice change in code document.
objCodeCls.Comment = "Comments for the CodeClass object."
' Access top-level object through the CodeClass object
' and return the file name of that top-level object.
MessageBox.Show("Top-level object's filename: " + objCodeCls.DTE.FileName)
' Get the language used to code the CodeClass object - returns a GUID.
MessageBox.Show(objCodeCls.Language)
' Get a collection of elements contained by the CodeClass object.
Dim members As String = "Member Elements of " + objCodeCls.Name + ": " + vbCrLf
Dim elem As CodeElement
For Each elem In objCodeCls.Members
members = members + (elem.Name + vbCrLf)
Next elem
MessageBox.Show(members)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
public void CodeClassExample(DTE2 dte)
{
// Before running this example, open a code document from a
// project and place the insertion point inside a class definition.
try
{
TextSelection objTextSel;
CodeClass objCodeCls;
objTextSel = (TextSelection)dte.ActiveDocument.Selection;
objCodeCls = (CodeClass)objTextSel.ActivePoint.get_CodeElement(vsCMElement.vsCMElementClass);
// Add comments to CodeClass objCodeClass - notice change in code document.
objCodeCls.Comment = "Comments for the CodeClass object.";
// Access top-level object through the CodeClass object
// and return the file name of that top-level object.
MessageBox.Show("Top-level object's filename: " + objCodeCls.DTE.FileName);
// Get the language used to code the CodeClass object - returns a GUID.
MessageBox.Show(objCodeCls.Language);
// Get a collection of elements contained by the CodeClass object.
string members = "Member Elements of " + objCodeCls.Name + ": \n";
foreach (CodeElement elem in objCodeCls.Members)
{
members = members + (elem.Name + "\n");
}
MessageBox.Show(members);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
.NET Framework セキュリティ
- 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。
参照
関連項目
その他の技術情報
方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する