Compartilhar via


Método CodeClass2.AddFunction

Cria uma nova função na classe.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (em EnvDTE80.dll)

Sintaxe

'Declaração
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: String

    Necessário. O nome da nova função.

  • Kind
    Tipo: vsCMFunction

    Necessário. A constante de vsCMFunction que indica o tipo de função, como se a função é uma getter de propriedade, um método, e assim por diante.

  • Type
    Tipo: Object

    Necessário. Uma constante de vsCMTypeRef que indica o tipo de dados que a função retorna. Esse pode ser um objeto de CodeTypeRef , uma constante de vsCMTypeRef , ou um nome de tipo totalmente qualificado.

  • Position
    Tipo: Object

    Opcional. Padrão = 0. O elemento de código depois do qual adicionar a nova função.

    Se o valor for um longo, então Position indica o elemento depois do qual adicionar o novo elemento.

    Como as coleções começam a contagem em 1, passar 0 indica que o novo elemento deve ser colocado no topo da coleção. Um valor de -1 significa que a função deve ser colocado no final.

  • Access
    Tipo: vsCMAccess

    Opcional. Uma constante de vsCMAccess .

  • Location
    Tipo: Object

    Opcional. Local da nova função.

Valor de retorno

Tipo: CodeFunction
Um objeto CodeFunction.

Comentários

O Visual C++ nativo requer o formato separado por dois pontos de :: () para seus nomes totalmente qualificados do tipo. Todos os outros idiomas dão suporte ao formato período- separado.

A exatidão dos argumentos é determinada pelo idioma atrás do modelo de código.

Dica

Os valores de código de modelagem elementos como classes, estruturas, funções, atributos, representantes, e assim por diante podem ser não determinísticas depois de fazer determinados tipos as edições do, o que significa que seus valores não podem ser confiáveis em para permanecer sempre os mesmos.Para obter mais informações, veja que os valores do elemento do modelo de código da seção podem ser alteradas em Descobrindo código usando o modelo de código (Visual Basic).

Exemplos

[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

[C#]

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);
    }
}

Segurança do .NET Framework

Consulte também

Referência

CodeClass2 Interface

Namespace EnvDTE80

Outros recursos

Como compilar e executar os exemplos de código do modelo de objeto Automation

Descobrindo código usando o modelo de código (Visual Basic)

Descobrindo código usando o modelo de código (Visual C#)