Поделиться через


CodeEnum.AddMember - метод

Создает новую конструкцию кода члена и вставляет код в соответствующее место.

Пространство имен:  EnvDTE
Сборка:  EnvDTE (в EnvDTE.dll)

Синтаксис

'Декларация
Function AddMember ( _
    Name As String, _
    Value As Object, _
    Position As Object _
) As CodeVariable
CodeVariable AddMember(
    string Name,
    Object Value,
    Object Position
)
CodeVariable^ AddMember(
    String^ Name, 
    Object^ Value, 
    Object^ Position
)
abstract AddMember : 
        Name:string * 
        Value:Object * 
        Position:Object -> CodeVariable 
function AddMember(
    Name : String, 
    Value : Object, 
    Position : Object
) : CodeVariable

Параметры

  • Name
    Тип: System.String
    Обязательный.Имя нового члена.
  • Value
    Тип: System.Object
    Необязательный.Свойство InitExpression возвращаемого объекта CodeVariable.Оно может быть передано в виде строки или объекта выражения.
  • Position
    Тип: System.Object
    Необязательный.Значение по умолчанию: 0Элемент кода, после которого добавляется новый элемент.Если значением является CodeElement, новый элемент добавляется непосредственно после него.
    Если значение имеет тип данных Long, AddMember указывает, после какого элемента следует добавить новый элемент.
    Поскольку в коллекциях нумерация элементов начинается с 1, значение 0 означает, что новый элемент следует поместить в начало коллекции.Значение -1 означает, что элемент следует поместить в конец.

Возвращаемое значение

Тип: EnvDTE.CodeVariable
Объект CodeVariable.

Заметки

Метод AddMember добавляет член в перечисление и возвращает объект CodeVariable со свойством IsConstant равным значению true.

При присвоении параметра Value строке метод AddMember вставляет любой требуемый синтаксис, такой как знаки равенства или точки с запятыми, если переменная еще не имеет инициализирующего выражения.Задание этого аргумента может завершиться неудачей в зависимости от языков и любых синтаксических и семантических проверок, выполняемых в этом языке для передаваемых строк.Языку не требуется проверять строку, а поскольку строка по необходимости зависит от языка, задание этого аргумента может дать неопределенный результат при неправильном форматировании содержимого строки.

При присвоении параметра Value объекту CodeElement решение о том, следует ли вновь создать данный объект CodeElement, зависит от языка реализации модели кода.В некоторых языках может применяться копирование семантики в случае передачи элемента кода, уже содержащегося в файле с исходным кодом.

Правильность аргументов определяется языком, на котором основана модель кода.

ПримечаниеПримечание

Значения элементов кодовой модели, такие как классы, структуры, функции, атрибуты, делегаты, не могут постоянно сохранять свое состояние.Дополнительные сведения см. в разделе "Значения элементов модели кода могут изменяться" в разделе Практическое руководство. Поиск кода при помощи модели кода (Visual Basic).

Примеры

Sub AddMemberExample(ByVal dte As DTE2)

    ' Before running this example, open a code document from a project
    ' and place the insertion point inside an enumeration.
    Try
        ' Retrieve the CodeEnum at the insertion point.
        Dim sel As TextSelection = _
            CType(dte.ActiveDocument.Selection, TextSelection)
        Dim enm As CodeEnum = _
            CType(sel.ActivePoint.CodeElement( _
            vsCMElement.vsCMElementEnum), CodeEnum)

        ' Add a member to the enumeration.
        enm.AddMember("TestMember")
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

End Sub
public void AddMemberExample(DTE2 dte)
{
    // Before running this example, open a code document from a project
    // and place the insertion point inside an enumeration.
    try
    {
        // Retrieve the CodeEnum at the insertion point.
        TextSelection sel = 
            (TextSelection)dte.ActiveDocument.Selection;
        CodeEnum enm = 
            (CodeEnum)sel.ActivePoint.get_CodeElement(
            vsCMElement.vsCMElementEnum);

        // Add a member to the enumeration.
        enm.AddMember("TestMember", null, -1);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

Безопасность платформы .NET Framework

См. также

Ссылки

CodeEnum Интерфейс

EnvDTE - пространство имен

Другие ресурсы

Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации

Практическое руководство. Поиск кода при помощи модели кода (Visual Basic)

Практическое руководство. Поиск кода при помощи модели кода (Visual C#)