none
¿Cómo especifico en una propiedad un valor por defecto? RRS feed

  • Pregunta

  • Quiero que si no especifico un valor explícitamente para la propiedad Bandera, esta tenga por defecto True ¿cómo lo especifico?

      WriteOnly Property Bandera As Boolean
        Set(bValor As Boolean)
          bBandera = bValor
        End Set
      End Property

    lunes, 2 de enero de 2017 22:10

Respuestas

  • Hola

    En la variable que as declarado

    Private bBandera As Boolean = True

    Saludos


    • Editado Juan FA lunes, 2 de enero de 2017 23:00
    • Propuesto como respuesta gasgdl2 lunes, 2 de enero de 2017 23:33
    • Marcado como respuesta James-2016 lunes, 2 de enero de 2017 23:46
    lunes, 2 de enero de 2017 22:52
  • hola

    En que contexto defines esa propiedad ? porque si esta en una clase podrias definir el valor desde el constructor, entonces cuando instancias se asigna la propiedad

    Class xxClass  
      
       Public Property Bandera As Boolean  
    
       Sub New()  
          Me.Bandera = True  
       End Sub 
       
    End Class 

    Es mas podrias definir una propiedad auto-implementada, si es que usas .net 4 o superior

    Propiedades implementadas automáticamente (Visual Basic)

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta James-2016 lunes, 2 de enero de 2017 23:47
    lunes, 2 de enero de 2017 23:34
  • Si tienes declarado un campo Boolean, inicialo como te ha indicado el usuario Juan FA y asunto resuelto:

    Private bBandera As Boolean = True


    Y el compilador de Visual Basic trasladará al constructor sin parámetros de la clase el establecimiento del valor del campo, tal y como te comenté en otra conversación, cuestión ésta que también lo puedes hacer tú de manera explícita:

    ' código generado por el compilador
    Public Sub New()
       bBandera = True
    End Sub

    En cuanto a una pregunta que me has formulado esta tarde, la he dividido y la encontrarás en el siguiente enlace:

    Cómo especificar la descripción de una propiedad


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.

    miércoles, 4 de enero de 2017 21:54
    Moderador

Todas las respuestas

  • Hola

    En la variable que as declarado

    Private bBandera As Boolean = True

    Saludos


    • Editado Juan FA lunes, 2 de enero de 2017 23:00
    • Propuesto como respuesta gasgdl2 lunes, 2 de enero de 2017 23:33
    • Marcado como respuesta James-2016 lunes, 2 de enero de 2017 23:46
    lunes, 2 de enero de 2017 22:52
  • hola

    En que contexto defines esa propiedad ? porque si esta en una clase podrias definir el valor desde el constructor, entonces cuando instancias se asigna la propiedad

    Class xxClass  
      
       Public Property Bandera As Boolean  
    
       Sub New()  
          Me.Bandera = True  
       End Sub 
       
    End Class 

    Es mas podrias definir una propiedad auto-implementada, si es que usas .net 4 o superior

    Propiedades implementadas automáticamente (Visual Basic)

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta James-2016 lunes, 2 de enero de 2017 23:47
    lunes, 2 de enero de 2017 23:34
  • Gracias.
    lunes, 2 de enero de 2017 23:46
  • Gracias, la defino en un control de usuario, lo que me sugieres es también una buena alternativa.
    • Editado James-2016 lunes, 2 de enero de 2017 23:47
    lunes, 2 de enero de 2017 23:47
  • "James-2016" escribió:

    > ..lo que me sugieres es también una buena alternativa.

    Te comento que las propiedades implementadas automáticamente son por defecto de lectura/escritura. Si tu propiedad es de sólo escritura (WriteOnly), me parece a mí que vas a tener que dejar la declaración de la propiedad tal cual has indicado:

    WriteOnly Property Bandera As Boolean
        Set(bValor As Boolean)
          bBandera = bValor
        End Set
    End Property


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.

    miércoles, 4 de enero de 2017 21:28
    Moderador
  • Claro seguiría siendo WriteOnly, pero me refiero que la manera como lo sugiere permite asignarle un valor inicialmente, creo que sería así:

    Class xxClass  
      
       WriteOnly Property Bandera As Boolean  
    
       Sub New()  
          Me.Bandera = True  
       End Sub 
       
    End Class 

    O de la forma como lo pone y en New igualmente se estaría inicializando con un valor:

    WriteOnly Property Bandera As Boolean Set(bValor As Boolean) bBandera = bValor End Set End Property

     Sub New()  
          Me.Bandera = True  
       End Sub 


    • Editado James-2016 miércoles, 4 de enero de 2017 21:42
    miércoles, 4 de enero de 2017 21:39
  • Si tienes declarado un campo Boolean, inicialo como te ha indicado el usuario Juan FA y asunto resuelto:

    Private bBandera As Boolean = True


    Y el compilador de Visual Basic trasladará al constructor sin parámetros de la clase el establecimiento del valor del campo, tal y como te comenté en otra conversación, cuestión ésta que también lo puedes hacer tú de manera explícita:

    ' código generado por el compilador
    Public Sub New()
       bBandera = True
    End Sub

    En cuanto a una pregunta que me has formulado esta tarde, la he dividido y la encontrarás en el siguiente enlace:

    Cómo especificar la descripción de una propiedad


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.

    miércoles, 4 de enero de 2017 21:54
    Moderador
  • ah, ok.
    miércoles, 4 de enero de 2017 22:49