CodeClass2.AddEvent メソッド

更新 : 2007 年 11 月

クラス イベントを追加します。

名前空間 :  EnvDTE80
アセンブリ :  EnvDTE80 (EnvDTE80.dll 内)

構文

'宣言
Function AddEvent ( _
    Name As String, _
    FullDelegateName As String, _
    CreatePropertyStyleEvent As Boolean, _
    Location As Object, _
    Access As vsCMAccess _
) As CodeEvent
'使用
Dim instance As CodeClass2
Dim Name As String
Dim FullDelegateName As String
Dim CreatePropertyStyleEvent As Boolean
Dim Location As Object
Dim Access As vsCMAccess
Dim returnValue As CodeEvent

returnValue = instance.AddEvent(Name, _
    FullDelegateName, CreatePropertyStyleEvent, _
    Location, Access)
CodeEvent AddEvent(
    string Name,
    string FullDelegateName,
    bool CreatePropertyStyleEvent,
    Object Location,
    vsCMAccess Access
)
CodeEvent^ AddEvent(
    String^ Name, 
    String^ FullDelegateName, 
    [InAttribute] bool CreatePropertyStyleEvent, 
    Object^ Location, 
    vsCMAccess Access
)
function AddEvent(
    Name : String, 
    FullDelegateName : String, 
    CreatePropertyStyleEvent : boolean, 
    Location : Object, 
    Access : vsCMAccess
) : CodeEvent

パラメータ

  • Name
    型 : System.String

    必ず指定します。追加するクラス イベントの名前になります。

  • FullDelegateName
    型 : System.String

    必ず指定します。イベントの基になるデリゲートの名前になります。これは、新しいイベント ハンドラのテンプレートとして使用できます。

  • CreatePropertyStyleEvent
    型 : System.Boolean

    省略可能です。プロパティ スタイル アクセサを持つイベントを作成します。True はイベントがアクセサを持つことを示し、false はイベントがアクセサを持たないことを示します。

戻り値

型 : EnvDTE80.CodeEvent

作成されたクラス イベント ハンドラを返します。

メモ :

特定の種類の編集を行うと、クラス、構造体、関数、属性、デリゲートなどのコード モデル要素が非確定的な値になる場合があります。つまり、これらの要素の値は、常に同じ値になるとは限りません。詳細については、「コード モデルを使用したコードの調査 (Visual Basic)」の「変更されるコード モデル要素値」を参照してください。

Sub AddEventExample(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
        ' Retrieve the CodeClass at the insertion point.
        Dim sel As TextSelection = _
            CType(dte.ActiveDocument.Selection, TextSelection)
        Dim cls As CodeClass = _
            CType(sel.ActivePoint.CodeElement( _
            vsCMElement.vsCMElementClass), CodeClass)

        ' Create a new event handler.
        cls.AddEvent("NewOnConnection", "OnConnection", True, -1, 
          vsCMAccess.vsCMAccessPublic)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub
public void AddEventExample(DTE2 dte)
{
    // Before running this example, open a code document from a project
    // and place the insertion point inside a class definition.
    try
    {
        // Retrieve the CodeClass at the insertion point.
        TextSelection sel = 
            (TextSelection)dte.ActiveDocument.Selection;
        CodeClass cls = 
            (CodeClass)sel.ActivePoint.get_CodeElement(
            vsCMElement.vsCMElementClass);
        // Creates a new event handler.
        cls.AddEvent("NewOnConnection", "OnConnection", true, -1, 
          vsCMAccess.vsCMAccessPublic);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

アクセス許可

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

参照

参照

CodeClass2 インターフェイス

CodeClass2 メンバ

EnvDTE80 名前空間

その他の技術情報

方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する

コード モデルを使用したコードの調査 (Visual Basic)

コード モデルを使用したコードの調査 (Visual C#)