CodeClass.AddFunction - метод
Создает новую конструкцию кода функции и вставляет код в нужное место.
Пространство имен: EnvDTE
Сборка: EnvDTE (в EnvDTE.dll)
Синтаксис
'Декларация
Function AddFunction ( _
Name As String, _
Kind As vsCMFunction, _
Type As Object, _
Position As Object, _
Access As vsCMAccess, _
Location As Object _
) As CodeFunction
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
)
abstract AddFunction :
Name:string *
Kind:vsCMFunction *
Type:Object *
Position:Object *
Access:vsCMAccess *
Location:Object -> CodeFunction
function AddFunction(
Name : String,
Kind : vsCMFunction,
Type : Object,
Position : Object,
Access : vsCMAccess,
Location : Object
) : CodeFunction
Параметры
Name
Тип: StringОбязательный. Имя новой функции.
Kind
Тип: EnvDTE.vsCMFunctionОбязательный. Константа vsCMFunction, указывающая тип функции, например: является ли она функцией, получающей свойство, методом и т. д.
Type
Тип: ObjectОбязательный. Константа vsCMTypeRef, указывающая тип возвращаемых функцией данных. Это может быть объект CodeTypeRef, константа vsCMTypeRef или полное имя типа.
Position
Тип: ObjectНеобязательно. Значение по умолчанию: 0 Элемент кода, после которого добавляется новый элемент. Если значением является CodeElement, новый элемент добавляется непосредственно после него.
Если значение имеет тип данных Long, тогда параметр AddFunction указывает элемент, после которого добавляется новый элемент.
Поскольку в коллекциях нумерация элементов начинается с 1, значение 0 означает, что новый элемент следует поместить в начало коллекции. Значение -1 означает, что элемент следует поместить в конец.
Access
Тип: EnvDTE.vsCMAccessНеобязательно. Константа vsCMAccess.
Location
Тип: ObjectНеобязательно. Местоположение.
Возвращаемое значение
Тип: EnvDTE.CodeFunction
Объект CodeFunction.
Заметки
Для полных имен типов в Visual C++ необходимо использовать формат с разделителем в виде двух двоеточий (::). Все остальные языки поддерживают формат с разделителем-точкой.
Правильность аргументов определяется языком, на котором основана модель кода.
Примечание
Значения элементов модели кода, таких как классы, структуры, функции, атрибуты, делегаты и другие, после внесения некоторых изменений могут оказаться недетерминированными, другими словами, нельзя рассчитывать, что их значения будут всегда оставаться одинаковыми.Дополнительные сведения см. в разделе "Значения элементов модели кода могут изменяться" в разделе Практическое руководство. Поиск кода при помощи модели кода (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);
}
}
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Для получения дополнительной информации см. Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Другие ресурсы
Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации
Практическое руководство. Поиск кода при помощи модели кода (Visual Basic)
Практическое руководство. Поиск кода при помощи модели кода (Visual C#)