CodeClass.AddFunction (Método)
Crea una nueva construcción de código de función e inserta el código en la ubicación adecuada.
Espacio de nombres: EnvDTE
Ensamblado: EnvDTE (en EnvDTE.dll)
Sintaxis
'Declaración
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
Parámetros
Name
Tipo: StringObligatorio. Nombre de la nueva función.
Kind
Tipo: EnvDTE.vsCMFunctionObligatorio. Constante vsCMFunction que indica el tipo de función (property-get, método, etc.).
Type
Tipo: ObjectObligatorio. Constante vsCMTypeRef que indica el tipo de datos que devuelve la función. Puede tratarse de un objeto CodeTypeRef, de una constante vsCMTypeRef o de un nombre de tipo completo.
Position
Tipo: ObjectOpcional. Valor predeterminado = 0. Elemento de código tras el que se agrega el elemento nuevo. Si el valor es un CodeElement, el nuevo elemento se agregará inmediatamente tras él.
Si el valor es Long, AddFunction indicará el elemento tras el cual se agregará el nuevo elemento.
Como el recuento de los elementos de una colección comienza a partir de 1, pasar un valor de 0 indica que el nuevo elemento deberá colocarse al principio de la colección. Un valor de -1 indica que el elemento deberá situarse al final de la colección.
Access
Tipo: EnvDTE.vsCMAccessOpcional. Constante vsCMAccess.
Location
Tipo: ObjectOpcional. Ubicación.
Valor devuelto
Tipo: EnvDTE.CodeFunction
Un objeto CodeFunction.
Comentarios
Visual C++ requiere el formato de separación por signos de dos puntos (::) para sus nombres de tipo completos. Todos los demás lenguajes admiten el formato de separación por puntos.
La corrección de los argumentos vendrá determinada por el lenguaje que subyace al modelo de código.
Nota
Los valores de los elementos de modelo de código como clases, structs, funciones, atributos, delegados, etc., pueden ser no deterministas una vez realizados determinados tipos de modificaciones; esto significa que no se puede confiar en que sus valores se mantengan siempre igual.Para obtener más información, vea la sección Los valores de elementos de modelo de código pueden cambiar, en Detectar código utilizando el modelo de código (Visual Basic).
Ejemplos
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);
}
}
Seguridad de .NET Framework
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.
Vea también
Referencia
Otros recursos
Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización
Detectar código utilizando el modelo de código (Visual Basic)