FileCodeModel.AddDelegate - метод
Обновлен: Ноябрь 2007
Создает новую конструкцию кода делегата и вставляет код в нужное место.
Пространство имен: EnvDTE
Сборка: EnvDTE (в EnvDTE.dll)
Синтаксис
'Декларация
Function AddDelegate ( _
Name As String, _
Type As Object, _
Position As Object, _
Access As vsCMAccess _
) As CodeDelegate
'Применение
Dim instance As FileCodeModel
Dim Name As String
Dim Type As Object
Dim Position As Object
Dim Access As vsCMAccess
Dim returnValue As CodeDelegate
returnValue = instance.AddDelegate(Name, _
Type, Position, Access)
CodeDelegate AddDelegate(
string Name,
Object Type,
Object Position,
vsCMAccess Access
)
CodeDelegate^ AddDelegate(
String^ Name,
Object^ Type,
Object^ Position,
vsCMAccess Access
)
function AddDelegate(
Name : String,
Type : Object,
Position : Object,
Access : vsCMAccess
) : CodeDelegate
Параметры
- Name
Тип: System.String
Обязательный. Имя добавляемого делегата.
- Type
Тип: System.Object
Обязательный. Константа vsCMTypeRef, указывающая тип возвращаемых функцией данных. Это может быть объект CodeTypeRef, константа vsCMTypeRef или полное имя типа.
- Position
Тип: System.Object
Необязательный. По умолчанию = 0. Элемент кода, после которого вставляется новый элемент. Если значение CodeElement, новый элемент добавляется непосредственно после него.
Если значение имеет тип данных Long, AddDelegate указывает, после какого элемента следует добавить новый элемент.
Поскольку в коллекциях нумерация элементов начинается с 1, значение 0 означает, что новый элемент следует поместить в начало коллекции. Значение -1 означает, что элемент следует поместить в конец.
- Access
Тип: EnvDTE.vsCMAccess
Необязательный. Константа vsCMAccess.
Возвращаемое значение
Тип: EnvDTE.CodeDelegate
Объект CodeDelegate.
Заметки
Для полных имен типов в Visual C++ необходимо использовать формат с разделителем в виде двух двоеточий (::). Все остальные языки поддерживают формат с разделителем-точкой.
Правильность аргументов определяется языком, на котором основана модель кода.
Примеры
Sub AddDelegateExample(ByVal dte As DTE2)
' Before running this example, open a code document from a project.
Try
Dim projItem As ProjectItem = dte.ActiveDocument.ProjectItem
' Create a new delegate.
projItem.FileCodeModel.AddDelegate("TestDelegate", _
vsCMTypeRef.vsCMTypeRefInt)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
public void AddDelegateExample(DTE2 dte)
{
// Before running this example, open a code document from
// a project.
try
{
ProjectItem projItem = dte.ActiveDocument.ProjectItem;
// Create a new delegate.
projItem.FileCodeModel.AddDelegate("TestDelegate",
vsCMTypeRef.vsCMTypeRefInt, -1,
vsCMAccess.vsCMAccessPublic);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Разрешения
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Другие ресурсы
Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации