CodeModel2.AddEnum(String, Object, Object, Object, vsCMAccess) 方法

定义

创建新的枚举代码构造,并将代码插入正确的位置。

EnvDTE::CodeEnum AddEnum(std::wstring const & Name, winrt::Windows::Foundation::IInspectable const & Location, winrt::Windows::Foundation::IInspectable const & Position, winrt::Windows::Foundation::IInspectable const & Bases, EnvDTE::vsCMAccess Access = EnvDTE.vsCMAccess.vsCMAccessDefault);
[System.Runtime.InteropServices.DispId(12)]
public EnvDTE.CodeEnum AddEnum (string Name, object Location, object Position, object Bases, EnvDTE.vsCMAccess Access = EnvDTE.vsCMAccess.vsCMAccessDefault);
[<System.Runtime.InteropServices.DispId(12)>]
abstract member AddEnum : string * obj * obj * obj * EnvDTE.vsCMAccess -> EnvDTE.CodeEnum
Public Function AddEnum (Name As String, Location As Object, Optional Position As Object, Optional Bases As Object, Optional Access As vsCMAccess = EnvDTE.vsCMAccess.vsCMAccessDefault) As CodeEnum

参数

Name
String

必需。 要添加的枚举的名称。

Location
Object

必需。 新枚举定义的路径和文件名。 文件名对项目文件是相对的还是绝对的取决于所使用的语言。 如果文件还不是项目项,则将被添加到项目中。 如果无法创建文件并将其添加到项目,则将 AddEnum(String, Object, Object, Object, vsCMAccess) 失败。

Position
Object

可选。 默认值 = 0。 将在其后添加新元素的代码元素。 如果该值为 CodeElement,则紧跟在其后添加新元素。

如果该值为 Long 数据类型,则 AddEnum(String, Object, Object, Object, vsCMAccess) 指示要在哪个元素后添加新元素。

因为集合从 1 开始计数,所以传递 0 指示应将新元素放置在集合的开始处。 值为 -1 表示应将元素放在结尾处。

Bases
Object

可选。 默认为 Nothing。 包含完全限定类型名称的 SafeArray 的变量,或 CodeType 指定新枚举的基础类型的对象。

Access
vsCMAccess

可选。 一个 vsCMAccess 常数。

返回

CodeEnum

CodeEnum 对象。

实现

属性

示例

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);  
    }  
}  

注解

参数的正确性由代码模型后面的语言确定。 所有语言都忽略 Bases 参数。

备注

在进行了某些类型的编辑之后,代码模型元素(例如类、结构、函数、特性、委托等)的值可能变为非确定性的,这意味着不能确定它们的值始终保持不变。

适用于