Existen los modulos en en C#

17/01/2007 - 04:48 por RobWare.Ruiz | Informe spam
Soy nuevo en C# vengo de la tradicion de Visual Basic 6.0 y quisiera que me
aterrizaran unos concepto, existen los modulos en C# como los que existen en
Visual Basic?, como se pueden declarar variables globales al proyecto?, yo
normalmente cuando trabajo en proyectos de base de datos, creo una conexion
con un objeto global que referencio durante todo el proyecto y simplemente
abro la conexion cuendo la requiero y la cierro cuando no la necesito mas, se
puede implementar lo mismo en C#, y en caso de que no como se podría hacer?

Preguntas similare

Leer las respuestas

#11 Carlos M. Calvelo
18/01/2007 - 13:25 | Informe spam
Hola Alfredo,

Alfredo Novoa schreef:
On 17 Jan 2007 17:02:10 -0800, "Carlos M. Calvelo"
wrote:

>
>Alfredo Novoa schreef:
>>
>> El caso de las variables estáticas es una barbaridad mucho más grande.
>> Estamos obligados a asociar cada variable global al nombre de un tipo,
>> lo cual no tiene ninguna lógica.
>
>Bueno, es que en el caso de una clase con variables globales no se
>trata
>de un 'tipo' sino de un 'módulo' y por eso se llama 'clase'. Lógico!

Bueno, eso en el caso de que solo haya variables globales, pero se
pueden mezclar variables globales con componentes del tipo.

En el caso de una clase estática tienes toda la razón en que eso ya no
es un tipo sino que es solo un módulo.



Si, a ese caso me refería. En el caso de variables globales con
componentes de la implementación de un tipo hablamos de un
<broma> módulo-tipo?, tipo-módulo? módulo tipado? tipo
modular?. </broma>
Sería equivalente a un módulo que implementa *un solo* tipo,
donde ambos tienen que compartir el nombre.

módulo X
{
;; elementos globales (static)

tipo ;; con nombre 'X'
{
;; ...
}
}

A ver si clase significa módulo-tipado !?


Vamos, que es difícil liar más las cosas.




Bueno.. si ahora le metemos los namespaces en el contexto
descrito arriba entonces estos serian módulos-módulos donde
los elementos globales estarían esparcidos por todos los
'módulos-tipo' y 'módulos estáticos'. [ o algo asi :-) ]

Saludos,
Carlos
Respuesta Responder a este mensaje
#12 Alfredo Novoa
18/01/2007 - 13:44 | Informe spam
On 18 Jan 2007 03:54:17 -0800, "Hernan" wrote:

Podrías utilizar el patrón singleton llamando a esa clase con un
nombre del
estilo "ProveedorDeServiciosCentralizados" o algo mas concreto.



Ya, pero el patrón singleton es una forma de rodear el error de diseño
del lenguaje.


Saludos
Respuesta Responder a este mensaje
#13 Octavio Hernandez
18/01/2007 - 14:43 | Informe spam
Hola, Alfredo!

Lo cuál prueba que los creadores de .NET sabían más bien poquito de
teoría de lenguajes de programación.



Obviamente, no estoy a la altura para juzgar eso. Si tuviera el tiempo y los
recursos para hacerme "mi lenguaje ideal", saldría algo bastante parecido a
C# (aunque con sintaxis Pascal :-)
En cualquier caso, no creo que Hejlsberg y los demás han llegado a donde
están por lo guapos que son...

Mezclar los conceptos de tipo y módulo no es para nada una buena idea.



No creo que dije que lo fuera, solo que esa es la vía (de compromiso,
añadiría)
que se eligió en .NET, como antes se habría hecho en el mundo Java (pienso),
suponiendo que los de Sun hubieran pensado en la JVM como núcleo para alojar
múltiples lenguajes, en lugar de centrarlo todo alrededor de un único
lenguaje.

module VariablesGlobales
{
public static int Numero;
}




Aquí la palabra static no tiene sentido.



De hecho, en VB no hace falta ponerla (se asume). En C# pienso que no se
podría haber quitado por razones históricas (como sabes, "static class" fue
introducido en la versión 2).

¿Y para que están entonces los "namespaces"

namespace VariablesGlobales
{
public int Numero;
}



Puede ser, no te lo niego. Pero yo veo a los namespaces como un recurso
organizativo de más alto nivel, para la organización de librerías o
subsistemas,
sobre lo que creo que hablaba Carlos unos posts más arriba.

Slds - Octavio
Respuesta Responder a este mensaje
#14 Carlos M. Calvelo
18/01/2007 - 15:35 | Informe spam
Hola Octavio,

Octavio Hernandez schreef:
Hola, Alfredo!

En cualquier caso, no creo que Hejlsberg y los demás han llegado a donde
están por lo guapos que son...



Lo que no implica que estén ahí por sus aportaciones a los
fundamentos
de lenguages de programación.


> Mezclar los conceptos de tipo y módulo no es para nada una buena idea.

No creo que dije que lo fuera, solo que esa es la vía (de compromiso,
añadiría)
que se eligió en .NET, como antes se habría hecho en el mundo Java (pienso),



No veo tal compromiso. Simplemente copiaron, lo bueno y lo malo,
tratando en el proceso de mejorar algunas cosas.

suponiendo que los de Sun hubieran pensado en la JVM como núcleo para alojar
múltiples lenguajes, en lugar de centrarlo todo alrededor de un único
lenguaje.



No se si entiendo bien lo que quieres decir. De todas formas como
yo lo veo es que si Sun hubiera hecho eso MS hubiera dicho que un
lenguage era el camino o otra cosa hubieran inventado. En algo
tenían que diferenciarse. Sun dijo 'Un lenguage, varias plataformas'
y MS dijo 'No no.. una plataforma, varios lenguages' no como una
elección technológica sino como reacción.
De todas formas nada impide que otros lenguajes compilen para el
JVM, y de echo lo hacen. Es todo cuestión de marketing, no
tecnología, tanto por parte de Sun como de MS. Y la plataforma de
MS no es .NET, es Windows y la estrategia tratar de basar el
internet en tecnología de MS, vamos... todos los servidores tienen
que trabajar con Windows. Pero el impacto del internet es algo que
se realizaron 'un poco tarde' y ya se le había escapado de las
manos. Así lo entiendo yo.

Saludos,
Carlos
Respuesta Responder a este mensaje
#15 Alfredo Novoa
18/01/2007 - 16:24 | Informe spam
Hola Carlos,

En cualquier caso, no creo que Hejlsberg y los demás han llegado a donde
están por lo guapos que son...



Lo que no implica que estén ahí por sus aportaciones a los
fundamentos
de lenguages de programación.



Ni que quien los haya elegido haya acertado.

No creo que dije que lo fuera, solo que esa es la vía (de compromiso,
añadiría)
que se eligió en .NET, como antes se habría hecho en el mundo Java (pienso),



No veo tal compromiso. Simplemente copiaron, lo bueno y lo malo,
tratando en el proceso de mejorar algunas cosas.



Estoy de acuerdo. Alguno llamaba a Heljsberg de cachondeo: Java Chief
Copier :-)

Copiaron a saco sin entender muy bien lo que hacían, añadiendo algunas
cosillas que habían visto que iban bien en otros lenguajes. No creo
que sea suficiente para salir en los libros de historia :-)

De todas formas nada impide que otros lenguajes compilen para el
JVM, y de echo lo hacen. Es todo cuestión de marketing, no
tecnología, tanto por parte de Sun como de MS. Y la plataforma de
MS no es .NET, es Windows y la estrategia tratar de basar el
internet en tecnología de MS, vamos... todos los servidores tienen
que trabajar con Windows.



Totalmente de acuerdo. Y la carrera por sacar una versión de .Net cada
dos años sirve para que las otras plataformas siempre vayan varios
pasos por detrás.


Saludos
Alfredo
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida