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


CodeModel.AddDelegate - метод

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

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

Синтаксис

'Декларация
Function AddDelegate ( _
    Name As String, _
    Location As Object, _
    Type As Object, _
    Position As Object, _
    Access As vsCMAccess _
) As CodeDelegate
CodeDelegate AddDelegate(
    string Name,
    Object Location,
    Object Type,
    Object Position,
    vsCMAccess Access
)
CodeDelegate^ AddDelegate(
    String^ Name, 
    Object^ Location, 
    Object^ Type, 
    Object^ Position, 
    vsCMAccess Access
)
abstract AddDelegate : 
        Name:string * 
        Location:Object * 
        Type:Object * 
        Position:Object * 
        Access:vsCMAccess -> CodeDelegate 
function AddDelegate(
    Name : String, 
    Location : Object, 
    Type : Object, 
    Position : Object, 
    Access : vsCMAccess
) : CodeDelegate

Параметры

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

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

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

Заметки

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

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

Примечание

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

Примеры

Sub AddDelegateExample2(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 delegate.
        cm.AddDelegate("TestDelegate", projItem.Name, _
            vsCMTypeRef.vsCMTypeRefInt)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

End Sub
public void AddDelegateExample2(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 delegate.
        cm.AddDelegate("TestDelegate", projItem.Name, 
            vsCMTypeRef.vsCMTypeRefInt, -1, 
            vsCMAccess.vsCMAccessPublic);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

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

См. также

Ссылки

CodeModel Интерфейс

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

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

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

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

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