CodeClass2.AddDelegate - метод (String, Object, Object, vsCMAccess)
Создает новый делегат в указанном классе.
Пространство имен: EnvDTE80
Сборка: EnvDTE80 (в EnvDTE80.dll)
Синтаксис
'Декларация
Function AddDelegate ( _
Name As String, _
Type As Object, _
Position As Object, _
Access As vsCMAccess _
) As CodeDelegate
CodeDelegate AddDelegate(
string Name,
Object Type,
Object Position,
vsCMAccess Access
)
CodeDelegate^ AddDelegate(
String^ Name,
Object^ Type,
Object^ Position,
vsCMAccess Access
)
abstract AddDelegate :
Name:string *
Type:Object *
Position:Object *
Access:vsCMAccess -> CodeDelegate
function AddDelegate(
Name : String,
Type : Object,
Position : Object,
Access : vsCMAccess
) : CodeDelegate
Параметры
- Name
Тип: System.String
Обязательный.Имя добавляемого делегата.
- Type
Тип: System.Object
Обязательный.Константа vsCMTypeRef, указывающая тип возвращаемых функцией данных.Это может быть объект CodeTypeRef, константа vsCMTypeRef или полное имя типа.
- Position
Тип: System.Object
Необязательный.Значение по умолчанию: 0Элемент кода, после которого добавляется новый элемент.
Если значение имеет тип данных Long, параметр Position указывает, после какого элемента добавляется новый элемент.
Поскольку в коллекциях нумерация элементов начинается с 1, значение 0 означает, что новый элемент следует поместить в начало коллекции.Значение -1 означает, что элемент следует поместить в конец.
- Access
Тип: EnvDTE.vsCMAccess
Необязательный.Константа vsCMAccess, определяющая тип доступа.
Возвращаемое значение
Тип: EnvDTE.CodeDelegate
Объект CodeDelegate.
Реализации
CodeClass.AddDelegate(String, Object, Object, vsCMAccess)
Заметки
Для полных имен типов в Visual C++ необходимо использовать формат с разделителем в виде двух двоеточий (::). Все остальные языки поддерживают формат с точкой в качестве разделителя.
Правильность аргументов определяется языком, на котором основана модель кода.
Примечание
Значения элементов модели кода, таких как классы, структуры, функции, атрибуты, делегаты и т.п., после внесения некоторых изменений могут стать недетерминированными, иными словами, нельзя рассчитывать, что их значения не будут изменяться.Дополнительные сведения см. в разделе "Значения элементов модели кода могут изменяться" в разделе Практическое руководство. Поиск кода при помощи модели кода (Visual Basic).
Примеры
[C#]
public void CodeClass2AddDelegateExample(DTE2 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.
TextSelection sel =
TextSelection)dte2.ActiveDocument.Selection;
CodeClass cls =
(CodeClass)sel.ActivePoint.get_CodeElement(
vsCMElement.vsCMElementClass);
object pos = -1; // Place class at end of members collection
// Add delegate.
CodeDelegate cdel = cls.AddDelegate("TestDelegate",
vsCMTypeRef.vsCMTypeRefBool,
pos, vsCMAccess.vsCMAccessPublic);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Другие ресурсы
Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации
Практическое руководство. Поиск кода при помощи модели кода (Visual Basic)
Практическое руководство. Поиск кода при помощи модели кода (Visual C#)