Compartir a través de


CodeClass2.AddProperty (Método)

Crea una nueva construcción de propiedad en la clase.

Espacio de nombres:  EnvDTE80
Ensamblado:  EnvDTE80 (en EnvDTE80.dll)

Sintaxis

'Declaración
Function AddProperty ( _
    GetterName As String, _
    PutterName As String, _
    Type As Object, _
    Position As Object, _
    Access As vsCMAccess, _
    Location As Object _
) As CodeProperty
CodeProperty AddProperty(
    string GetterName,
    string PutterName,
    Object Type,
    Object Position,
    vsCMAccess Access,
    Object Location
)
CodeProperty^ AddProperty(
    String^ GetterName, 
    String^ PutterName, 
    Object^ Type, 
    Object^ Position, 
    vsCMAccess Access, 
    Object^ Location
)
abstract AddProperty : 
        GetterName:string * 
        PutterName:string * 
        Type:Object * 
        Position:Object * 
        Access:vsCMAccess * 
        Location:Object -> CodeProperty
function AddProperty(
    GetterName : String, 
    PutterName : String, 
    Type : Object, 
    Position : Object, 
    Access : vsCMAccess, 
    Location : Object
) : CodeProperty

Parámetros

  • GetterName
    Tipo: String

    Obligatorio. Nombre de la función que obtiene el valor de la propiedad.

  • PutterName
    Tipo: String

    Obligatorio. Nombre de la función que establece la propiedad.

  • Type
    Tipo: Object

    Obligatorio. Tipo de propiedad. Puede tratarse de un objeto CodeTypeRef, de un valor vsCMTypeRef o de un nombre de tipo completo.

  • Position
    Tipo: Object

    Opcional. Valor predeterminado = 0. Elemento de código tras el que se agrega el elemento nuevo.

    Si el tipo de datos del valor es Long, el método Position indicará el elemento detrás del cual se ha de 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: vsCMAccess

    Opcional. Valor constante vsCMAccess que indica el tipo de acceso.

  • Location
    Tipo: Object

    Opcional. Ubicación de la nueva función.

Valor devuelto

Tipo: CodeProperty
Un objeto CodeProperty.

Comentarios

Visual C++ nativo 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

[Visual Basic]

Sub AddPropertyExample(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 property.
        cls.AddProperty("TestProperty", "TestProperty", _
            vsCMTypeRef.vsCMTypeRefInt)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub

[C#]

public void AddPropertyExample(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 property.
        cls.AddProperty("TestProperty", "TestProperty", 
            vsCMTypeRef.vsCMTypeRefInt, -1, 
            vsCMAccess.vsCMAccessPublic, null);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

Seguridad de .NET Framework

Vea también

Referencia

CodeClass2 Interfaz

EnvDTE80 (Espacio de nombres)

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)

Detectar código utilizando el modelo de código (Visual C#)