Funciones VB.net en C#, duda de novato.

18/10/2003 - 10:58 por epz | Informe spam
Hola todas/os,

Supongo que la pregunta es tonta pero cuando se empieza...
Hasta ahora he programado en VB6.0. Ahora estoy aprendiendo C#, en VB
utilizaba a veces funciones en modulos.
Estas funciones podian ser llamadas desde cualquier punto de la aplicacion
sin hacer referencia al modulo al que pertenecian. Se trata de funciones de
proposito general, por ejemplo, una funcion para mostrar un aviso en
pantalla, o para transformar de numeros a letras, etc.

¿Como se definen estas funciones en C#?, ¿Puede ser con namespaces?

Muchas gracias.

Eric

Preguntas similare

Leer las respuestas

#1 Millan Andres Sanchez Diaz
18/10/2003 - 18:27 | Informe spam
Tanto el C# y el VB.NET por ser lenguajes totalmente orientados a Objetos no
permiten hacer esto.
Debes definir Clases y dentro de las clases definir los metodos que
necesitas. Adiciona estas clases a tus proyectos y podras usar los metodos
correspondientes.

Aunque para algunas personas esto se podria ver como un defecto, se hace
para hacer mas organizados y Estandar nuestros proyectos.
Millán Andrés Sánchez Díaz
Business and Technology Consultant
Tels.: (571) 6147862 - 6147983
Fax: (571) 5287076
Cel. : 310-8656566
SYS TECNOLOGIAS INTEGRADAS LTDA
Bogotá, Colombia

"epz" wrote in message
news:
Hola todas/os,

Supongo que la pregunta es tonta pero cuando se empieza...
Hasta ahora he programado en VB6.0. Ahora estoy aprendiendo C#, en VB
utilizaba a veces funciones en modulos.
Estas funciones podian ser llamadas desde cualquier punto de la aplicacion
sin hacer referencia al modulo al que pertenecian. Se trata de funciones


de
proposito general, por ejemplo, una funcion para mostrar un aviso en
pantalla, o para transformar de numeros a letras, etc.

¿Como se definen estas funciones en C#?, ¿Puede ser con namespaces?

Muchas gracias.

Eric


Respuesta Responder a este mensaje
#2 epz
19/10/2003 - 00:54 | Informe spam
Hola Millan, gracias por tu respuesta,

Solo unas cuestiones mas a partir de tus aclaraciones...

"Millan Andres Sanchez Diaz" escribió en el mensaje
news:
Tanto el C# y el VB.NET por ser lenguajes totalmente orientados a Objetos


no
permiten hacer esto.



Pero con VB.NET se pueden tener modulos y en esos modulos definir
procedimientos y funciones que no dependen de ninguna clase y que pueden ser
invocados desde cualquier punto de la aplicacion, como en VB 6.0.

Debes definir Clases y dentro de las clases definir los metodos que
necesitas. Adiciona estas clases a tus proyectos y podras usar los


metodos
correspondientes.



De acuerdo, entonces, ¿cualquier metodo por general que sea debe seguir la
sintaxis:?

Clase objeto; <Se
define el objeto
objeto.metodo(parametro1,parametro2); <Se usa el metodo del
objeto

Por ejemplo:

clMisRutinas objrutinas;
rutinas.numeroAletras(numero, letras);

¿No es posible ahorrarse el objeto 'padre' en la llamada al metodo?

Aunque para algunas personas esto se podria ver como un defecto, se hace
para hacer mas organizados y Estandar nuestros proyectos.



Eso es verdad.

Millán Andrés Sánchez Díaz
Business and Technology Consultant
Tels.: (571) 6147862 - 6147983
Fax: (571) 5287076
Cel. : 310-8656566
SYS TECNOLOGIAS INTEGRADAS LTDA
Bogotá, Colombia



Hasta pronto Millan y repito muchas gracias,

Eric


"epz" wrote in message
news:
> Hola todas/os,
>
> Supongo que la pregunta es tonta pero cuando se empieza...
> Hasta ahora he programado en VB6.0. Ahora estoy aprendiendo C#, en VB
> utilizaba a veces funciones en modulos.
> Estas funciones podian ser llamadas desde cualquier punto de la


aplicacion
> sin hacer referencia al modulo al que pertenecian. Se trata de funciones
de
> proposito general, por ejemplo, una funcion para mostrar un aviso en
> pantalla, o para transformar de numeros a letras, etc.
>
> ¿Como se definen estas funciones en C#?, ¿Puede ser con namespaces?
>
> Muchas gracias.
>
> Eric
>
>


Respuesta Responder a este mensaje
#3 Daniel Sharp
19/10/2003 - 01:48 | Informe spam
hola epz
como dice millan, lo adecuado es usar clases, puedes implementar metodos
compartidos para que no necesites instanciar explicitamente una clase, con
eso ahorras la instancia del "padre", al metodo dile static, ya no sería
metodo del objeto sino de la clase

atte
daniel #

"epz" wrote in message
news:Owy$
Hola Millan, gracias por tu respuesta,

Solo unas cuestiones mas a partir de tus aclaraciones...

"Millan Andres Sanchez Diaz" escribió en el mensaje
news:
> Tanto el C# y el VB.NET por ser lenguajes totalmente orientados a


Objetos
no
> permiten hacer esto.

Pero con VB.NET se pueden tener modulos y en esos modulos definir
procedimientos y funciones que no dependen de ninguna clase y que pueden


ser
invocados desde cualquier punto de la aplicacion, como en VB 6.0.

> Debes definir Clases y dentro de las clases definir los metodos que
> necesitas. Adiciona estas clases a tus proyectos y podras usar los
metodos
> correspondientes.

De acuerdo, entonces, ¿cualquier metodo por general que sea debe seguir la
sintaxis:?

Clase objeto; <Se
define el objeto
objeto.metodo(parametro1,parametro2); <Se usa el metodo del
objeto

Por ejemplo:

clMisRutinas objrutinas;
rutinas.numeroAletras(numero, letras);

¿No es posible ahorrarse el objeto 'padre' en la llamada al metodo?
>
> Aunque para algunas personas esto se podria ver como un defecto, se hace
> para hacer mas organizados y Estandar nuestros proyectos.

Eso es verdad.

> Millán Andrés Sánchez Díaz
> Business and Technology Consultant
> Tels.: (571) 6147862 - 6147983
> Fax: (571) 5287076
> Cel. : 310-8656566
> SYS TECNOLOGIAS INTEGRADAS LTDA
> Bogotá, Colombia

Hasta pronto Millan y repito muchas gracias,

Eric

>
> "epz" wrote in message
> news:
> > Hola todas/os,
> >
> > Supongo que la pregunta es tonta pero cuando se empieza...
> > Hasta ahora he programado en VB6.0. Ahora estoy aprendiendo C#, en VB
> > utilizaba a veces funciones en modulos.
> > Estas funciones podian ser llamadas desde cualquier punto de la
aplicacion
> > sin hacer referencia al modulo al que pertenecian. Se trata de


funciones
> de
> > proposito general, por ejemplo, una funcion para mostrar un aviso en
> > pantalla, o para transformar de numeros a letras, etc.
> >
> > ¿Como se definen estas funciones en C#?, ¿Puede ser con namespaces?
> >
> > Muchas gracias.
> >
> > Eric
> >
> >
>
>


Respuesta Responder a este mensaje
#4 Tristan
20/10/2003 - 01:22 | Informe spam
En realidad la diferencia entre un miembro static (shared en vb.net) y un
miembro global no es demasiado grande. Basicamente que fuerza a estructurar
más el código. Por lo demás, un miembro static de tipo público, es accesible
desde cualquier punto del programa, ya que se llama sin necesidad de
utilizar una instancia concreta.


Para que te hagas una idea. El compilador de vb.net, convierte realmente los
módulos, en clases con todos sus miembros static. Si miras el código msil
generado por vb.net verás que en él, todo son clases. Eso te da una idea de
hasta que punto los módulos de vb.net solo existen por compatibilidad con el
pasado.

Juan Carlos Badiola
MVP - C#
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida