none
Uso correcto de las Librerias

    Pregunta

  • Estimados, Muchas Bendiciones...

    Bueno, No se si esta bien planteado el titulo. Tengo algunas dudas respecto al uso de las librerías ya que en los ejemplos que he visto en internet no me dejan muy claro como es... y quisiera Plantear el siguiente escenario:

    En un Proyecto hay 1 form MDI, 20 form y 4 Módulo y el StartUp es en el Sub Main, y cuando uso una librería pregunto:

    1.- Donde es correcto usar el Imports de una librería en uno de los modulos o en el MDI o en el form?...

    2.- Si uso el Imports en el Modulo esta librería esta Disponible para todo el proyecto o no?...

    3.- O Debo usar en cada form o MDI o Modulo el Imports de esta Librería?...

    4.- Siempre debo refernciar una librería antes de usar Imports o puedo usarlo directamente?...

    Espero no sonar tonto al preguntar esto...

    domingo, 11 de diciembre de 2016 15:54

Respuestas

  • Y agregando a lo anterior, hay otra opción en VB: Además de agregar un Imports en uno cualquiera de los ficheros, que solo afecta a ese fichero fuente (con independencia de que sea o no sea un módulo), existe otra opción que consiste en agregar el espacio de nombres en la pestaña "Imports" en las Propiedades del Proyecto. Los Imports que se añaden ahí son globales y afectan a todos los archivos fuente del proyecto.
    domingo, 11 de diciembre de 2016 18:59

Todas las respuestas

  • Negochile,

    Vamos a ponernos en contexto para que quede claro las dudas que presentas: un ensamblado puede contener uno o mas espacios de nombres, cada espacio de nombres organiza los objetos contenidos en el ensamblado, por tanto, para que el proyecto pueda disponer de los objetos que expone el ensamblado (se entiende ya lo tienes referenciado en el proyecto: Menu Proyecto > Agregar referencia...) puedes agregar una instrucción Imports al módulo para especificar el espacio de nombres que harás uso. Nota que subrayo la palabra "puedes" porque la instrucción Imports se utiliza para simplificar el acceso a las referencias del ensamblado, de hecho, si omites la instrucción Imports puedes escribir explicitamente los nombres completos de las referencias (calificar espacio de nombres), por ejemplo:

    'Acceder a los objetos del espacio de nombres SqlClient
    
    'Utilizando la instrucción Imports
    Imports System.Data.SqlClient
    
    Public Class Form1
    	Public Sub Insertar()
    		Try
    			Using cn As New SqlConnection("Cadena de conexión")
    				'...
    			End Using
    		Catch ex As Exception
    			MessageBox.Show(ex.Message)
    		End Try
    	End Sub
    End Sub
    
    'Omitir la instrucción Imports y escribir el nombre completo
    Public Class Form1
    	Public Sub Insertar()
    		Try
    			Using cn As New System.Data.SqlClient.SqlConnection("Cadena de conexión")
    				'...
    			End Using
    		Catch ex As Exception
    			MessageBox.Show(ex.Message)
    		End Try
    	End Sub
    End Sub

    Concluyendo, en cada archivo del proyecto donde quieras utilizar los objetos de un espacio de nombres (contenidos en un ensamblado) puedes apoyarte de la instrucción Imports o puedes escribir el nombre completo de la referencia, lo adecuado es que tomes el primer punto. Respecto a tu última pregunta, no puedes intentar utilizar un espacio de nombres de un ensamblado que no está referenciado en el proyecto.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    domingo, 11 de diciembre de 2016 16:46
  • Y agregando a lo anterior, hay otra opción en VB: Además de agregar un Imports en uno cualquiera de los ficheros, que solo afecta a ese fichero fuente (con independencia de que sea o no sea un módulo), existe otra opción que consiste en agregar el espacio de nombres en la pestaña "Imports" en las Propiedades del Proyecto. Los Imports que se añaden ahí son globales y afectan a todos los archivos fuente del proyecto.
    domingo, 11 de diciembre de 2016 18:59
  • Gracias Williams...

    Entiendo lo de los espacios de nombre y de que se puede o no usar imports obviamente si usas la declaración completa de la referencia a dicho espacio de nombre.

    Quisas no fui lo suficientemente claro al formular mis preguntas, pero me referia al ámbito de dicha referencia, ya que en los ejemplos que encontrado en la web y videos en youtbe, veo que en algunos casos hacen un modulo y realizan la declaración del imports, en otros lo hacen en un form o MDI y me generaba dudas y confusión...

    domingo, 11 de diciembre de 2016 21:43
  • Muchas gracias Alberto,

    Creo que tu comprendiste mejor lo que quería preguntar, talvez no me di a entender bien y pido las disculpas del caso por esa torpeza.

    viendo tu respuesta entiendo que tendría que definir por cada form o mudolo o clase los imports que necesite ocupar si no existiera la alternativa que tu describes. muchas gracias por orientar mi conocimiento.

    Si me permites decir como nota personal: esto era una de las cosas que me desalentaban a la hora de migrar a .NET  

    domingo, 11 de diciembre de 2016 21:52