none
devolver un tipo de dato cualquiera desde una funcion RRS feed

  • Pregunta

  • Hola a todos

    Una pregunta que debe ser muy fácil, pero no atino

    Tengo una función que dependiendo del parámetro de entrada, debe devolver un valor, pero puede ser de tipo string, integer, short o boolean. Cuando utilizada Visual Basic para Aplicaciones lo solocionaba con "variant", de la siguiente manera

    public function Informacion(casilla as string) as variant

    pero en Visual Studio 2010 no sé cómo hacerlo... lo intento con VariantType, pero si el valor devuelto no es integer, no me funciona

    Alguna pista?

     

    Gracias de antemano

    miércoles, 12 de octubre de 2011 10:41

Respuestas

  • "jmbegara" escribió:

    > Tengo una función que dependiendo del parámetro de entrada,
    > debe devolver un valor, pero puede ser de tipo string, integer,
    > short o boolean. Cuando utilizada Visual Basic para Aplicaciones
    > lo solocionaba con "variant", de la siguiente manera
    >
    > public function Informacion(casilla as string) as variant
    >
    > pero en Visual Studio 2010 no sé cómo hacerlo... lo intento con
    > VariantType, pero si el valor devuelto no es integer, no me funciona
    >
    > Alguna pista?

    Sí, que tu función deberá devolver el tipo genérico 'Object' del cual, directa o indirectamente, derivan todas las clases y tipos de datos en .net:

     

     Public Function Informacion(casilla As String) As Object
    


    Eso sí, será misión del proceso que llame a la función 'Informacion', verificar el tipo de dato devuelto por la misma, incluyendo el posible valor Nothing que pueda devolver, y convertir al tipo de dato correcto el valor devuelto.

    Para obligarte a convertir explícitamente los tipos de datos, yo te aconsejaría que activaras la instrucción 'Option Strict'.

     

    Un saludo


    Enrique Martínez
      [MS MVP - VB]

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


    miércoles, 12 de octubre de 2011 10:45
    Moderador

Todas las respuestas

  • "jmbegara" escribió:

    > Tengo una función que dependiendo del parámetro de entrada,
    > debe devolver un valor, pero puede ser de tipo string, integer,
    > short o boolean. Cuando utilizada Visual Basic para Aplicaciones
    > lo solocionaba con "variant", de la siguiente manera
    >
    > public function Informacion(casilla as string) as variant
    >
    > pero en Visual Studio 2010 no sé cómo hacerlo... lo intento con
    > VariantType, pero si el valor devuelto no es integer, no me funciona
    >
    > Alguna pista?

    Sí, que tu función deberá devolver el tipo genérico 'Object' del cual, directa o indirectamente, derivan todas las clases y tipos de datos en .net:

     

     Public Function Informacion(casilla As String) As Object
    


    Eso sí, será misión del proceso que llame a la función 'Informacion', verificar el tipo de dato devuelto por la misma, incluyendo el posible valor Nothing que pueda devolver, y convertir al tipo de dato correcto el valor devuelto.

    Para obligarte a convertir explícitamente los tipos de datos, yo te aconsejaría que activaras la instrucción 'Option Strict'.

     

    Un saludo


    Enrique Martínez
      [MS MVP - VB]

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


    miércoles, 12 de octubre de 2011 10:45
    Moderador
  • Muchísimas gracias!
    miércoles, 12 de octubre de 2011 14:53