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


CodeClass2.AddFunction - метод (String, vsCMFunction, Object, Object, vsCMAccess, Object)

Обновлен: Ноябрь 2007

Создает новую функцию в классе.

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

Синтаксис

'Декларация
Function AddFunction ( _
    Name As String, _
    Kind As vsCMFunction, _
    Type As Object, _
    Position As Object, _
    Access As vsCMAccess, _
    Location As Object _
) As CodeFunction
'Применение
Dim instance As CodeClass2
Dim Name As String
Dim Kind As vsCMFunction
Dim Type As Object
Dim Position As Object
Dim Access As vsCMAccess
Dim Location As Object
Dim returnValue As CodeFunction

returnValue = instance.AddFunction(Name, _
    Kind, Type, Position, Access, Location)
CodeFunction AddFunction(
    string Name,
    vsCMFunction Kind,
    Object Type,
    Object Position,
    vsCMAccess Access,
    Object Location
)
CodeFunction^ AddFunction(
    String^ Name, 
    vsCMFunction Kind, 
    Object^ Type, 
    Object^ Position, 
    vsCMAccess Access, 
    Object^ Location
)
function AddFunction(
    Name : String, 
    Kind : vsCMFunction, 
    Type : Object, 
    Position : Object, 
    Access : vsCMAccess, 
    Location : Object
) : CodeFunction

Параметры

  • Name
    Тип: System.String
    Обязательный. Имя новой функции.
  • Kind
    Тип: EnvDTE.vsCMFunction
    Обязательный. Константа vsCMFunction, указывающая тип функции, например, является ли она функцией задания свойства, методом и т. д.
  • Type
    Тип: System.Object
    Обязательный. Константа vsCMTypeRef, указывающая тип возвращаемых функцией данных. Это может быть объект CodeTypeRef, константа vsCMTypeRef или полное имя типа.
  • Position
    Тип: System.Object
    Необязательный. По умолчанию = 0. Элемент кода, после которого вставляется новая функция.
    Если значение имеет тип данных Long, то параметр Position указывает элемент, после которого добавляется новый элемент.
    Поскольку в коллекциях нумерация элементов начинается с 1, значение 0 означает, что новый элемент следует поместить в начало коллекции. Значение -1 означает, что функцию следует поместить в конец.
  • Location
    Тип: System.Object
    Необязательный. Местоположение новой функции.

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

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

Реализации

CodeClass.AddFunction(String, vsCMFunction, Object, Object, vsCMAccess, Object)

Заметки

Для полных имен типов в Visual C++ необходимо использовать формат с разделителем в виде двух двоеточий (::). Все остальные языки поддерживают формат с разделителем-точкой.

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

yb95k7z5.alert_note(ru-ru,VS.90).gifПримечание.

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

Примеры

Sub AddFunctionExample2(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 member function.
        cls.AddFunction("TestFunction", _
            vsCMFunction.vsCMFunctionFunction, _
            vsCMTypeRef.vsCMTypeRefInt)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub
public void AddFunctionExample2(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);

        // Create a new member function.
        cls.AddFunction("TestFunction", 
            vsCMFunction.vsCMFunctionFunction, 
            vsCMTypeRef.vsCMTypeRefInt, -1, 
            vsCMAccess.vsCMAccessDefault, null);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

Разрешения

См. также

Ссылки

CodeClass2 Интерфейс

CodeClass2 - члены

AddFunction - перегрузка

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

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

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

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

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