次の方法で共有


CodeModel.AddEnum メソッド

更新 : 2007 年 11 月

新しい列挙コード構成を作成し、適切な位置にコードを挿入します。

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

構文

'宣言
Function AddEnum ( _
    Name As String, _
    Location As Object, _
    Position As Object, _
    Bases As Object, _
    Access As vsCMAccess _
) As CodeEnum
'使用
Dim instance As CodeModel
Dim Name As String
Dim Location As Object
Dim Position As Object
Dim Bases As Object
Dim Access As vsCMAccess
Dim returnValue As CodeEnum

returnValue = instance.AddEnum(Name, Location, _
    Position, Bases, Access)
CodeEnum AddEnum(
    string Name,
    Object Location,
    Object Position,
    Object Bases,
    vsCMAccess Access
)
CodeEnum^ AddEnum(
    String^ Name, 
    Object^ Location, 
    Object^ Position, 
    Object^ Bases, 
    vsCMAccess Access
)
function AddEnum(
    Name : String, 
    Location : Object, 
    Position : Object, 
    Bases : Object, 
    Access : vsCMAccess
) : CodeEnum

パラメータ

  • Name
    型 : System.String

    必ず指定します。追加する列挙型の名前。

  • Location
    型 : System.Object

    必ず指定します。新しい列挙型定義のパスとファイル名。ファイル名は、言語に応じて、プロジェクト ファイルへの相対パスまたは絶対パスで表されます。ファイルが既にプロジェクト項目になっていない場合は、ファイルがプロジェクトに追加されます。ファイルを作成してプロジェクトに追加できない場合、AddEnum は失敗します。

  • Position
    型 : System.Object

    省略可能です。既定では 0 が指定されます。ここで指定したコード要素の後に、新しい要素を追加します。値が CodeElement の場合は、その値の直後に新しい要素が追加されます。

    値が long 型の場合は、後ろに新しい要素を追加する要素が AddEnum によって示されます。

    コレクションのカウントは 1 から始まるため、0 を指定すると新しい要素がコレクションの最初に配置されます。値 -1 は要素を末尾に配置することを示します。

  • Bases
    型 : System.Object

    省略可能です。既定値は Nothing です。完全修飾型名の SafeArray、または新しい列挙型の基になる型を指定する CodeType オブジェクトの SafeArray を保持するバリアント。

戻り値

型 : EnvDTE.CodeEnum

CodeEnum オブジェクト。

解説

引数が正しいかどうかは、コード モデルの背後にある言語によって決まります。Bases パラメータはすべての言語で無視されます。

メモ :

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

Sub AddEnumExample2(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 enum.
        cm.AddEnum("TestEnum", projItem.Name)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

End Sub
public void AddEnumExample2(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 enum.
        cm.AddEnum("TestEnum", projItem.Name, -1, null, 
            vsCMAccess.vsCMAccessPublic);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

アクセス許可

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

参照

参照

CodeModel インターフェイス

CodeModel メンバ

EnvDTE 名前空間

その他の技術情報

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

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

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