CodeModel2.AddDelegate メソッド (String, Object, Object, Object, vsCMAccess)
新しいデリゲート コード構成を作成し、適切な位置にコードを挿入します。
名前空間: EnvDTE80
アセンブリ: EnvDTE80 (EnvDTE80.dll 内)
構文
'宣言
Function AddDelegate ( _
Name As String, _
Location As Object, _
Type As Object, _
Position As Object, _
Access As vsCMAccess _
) As CodeDelegate
CodeDelegate AddDelegate(
string Name,
Object Location,
Object Type,
Object Position,
vsCMAccess Access
)
CodeDelegate^ AddDelegate(
String^ Name,
Object^ Location,
Object^ Type,
Object^ Position,
vsCMAccess Access
)
abstract AddDelegate :
Name:string *
Location:Object *
Type:Object *
Position:Object *
Access:vsCMAccess -> CodeDelegate
function AddDelegate(
Name : String,
Location : Object,
Type : Object,
Position : Object,
Access : vsCMAccess
) : CodeDelegate
パラメーター
- Name
型 : System.String
必ず指定します。追加するデリゲートの名前。
- Location
型 : System.Object
必ず指定します。新しいデリゲート定義のパスとファイル名。言語に応じて、ファイル名はプロジェクト ファイルへの相対パスまたは絶対パスで表されます。ファイルが既にプロジェクト項目になっていない場合は、ファイルがプロジェクトに追加されます。ファイルを作成してプロジェクトに追加できない場合は、AddDelegate が失敗します。
- Type
型 : System.Object
必ず指定します。関数で返されるデータ型を示す vsCMTypeRef 定数です。この値には、CodeTypeRef オブジェクト、vsCMTypeRef 定数、または完全修飾型名を指定できます。
- Position
型 : System.Object
省略可能です。既定値は 0 です。ここで指定したコード要素の後に、新しい要素を追加します。値が CodeElement の場合は、その値の直後に新しい要素が追加されます。
値が long 型の場合は、後ろに新しい要素を追加する要素が AddDelegate によって示されます。
コレクションのカウントは 1 から始まるため、0 を指定すると新しい要素がコレクションの最初に配置されます。値 -1 は要素を末尾に配置することを示します。
- Access
型 : EnvDTE.vsCMAccess
省略可能です。定数 vsCMAccess。
戻り値
型 : EnvDTE.CodeDelegate
CodeDelegate オブジェクト。
解説
ネイティブの Visual C++ では、コロン区切り形式 (::) で完全修飾型名を指定する必要があります。他のすべての言語では、ピリオド区切りの形式がサポートされます。
引数が正しいかどうかは、コード モデルの背後にある言語によって決まります。
[!メモ]
特定の種類の編集を行った後に、クラス、構造体、関数、属性、デリゲートなどのコード モデル要素の値を決定できないことがあります。つまり、これらの要素の値は、信頼できる値ではなく、常に同じ値になるとは限りません。詳細については、「コード モデルを使用したコードの調査 (Visual Basic)」で、コード モデル要素値を変更する方法についての説明を参照してください。
例
Sub AddDelegateExample2(ByVal dte As DTE2)
' Before running this example, open a code document from a project.
Try
Dim projItem As ProjectItem = dte.ActiveDocument.ProjectItem
Dim cm As CodeModel = projItem.ContainingProject.CodeModel
' Create a new delegate.
cm.AddDelegate("TestDelegate", projItem.Name, _
vsCMTypeRef.vsCMTypeRefInt)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
public void AddDelegateExample2(DTE2 dte)
{
// Before running this example, open a code document from
// a project.
try
{
ProjectItem projItem = dte.ActiveDocument.ProjectItem;
CodeModel cm = projItem.ContainingProject.CodeModel;
// Create a new delegate.
cm.AddDelegate("TestDelegate", projItem.Name,
vsCMTypeRef.vsCMTypeRefInt, -1,
vsCMAccess.vsCMAccessPublic);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
.NET Framework セキュリティ
- 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。
参照
関連項目
その他の技術情報
方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する