CSS – Bordes Redondeados
16/10/2011Cursos Interactivos MIT
16/11/2011Contestando a la pregunta del título rápidamente, la respuesta es que no hay Variables Globales en C#, ya que no se considera como “Orientado a Objetos”.
La alternativa que se nos plantea es mediante Clases Estáticas públicas.
Voy a intentar explicarlo un poco más sencillito, ya que a mí me costó entenderlo inicialmente.
¿Qué utilidad tienen, o cuándo se usan?
Pongamos el caso que necesitamos tener un valor disponible desde cualquier formulario/pantalla de nuestra aplicación. En otros lenguajes se definiría como una variable global, y estaría disponible desde cualquier opción.
Entendiendo el Get y el Set
Si os estáis iniciando en el mundo de la programación, os habréis encontrado con el Get y el Set y a veces no queda muy claro su utilización. Voy a intentar explicar cómo lo entendí yo.
Mediante el Get, lo que haremos será OBTENER un valor de una variable predefinida
Mediante el Set, lo que haremos será ASIGNAR un valor a dicha variable
Pongamos un ejemplo:
Imaginamos que quiero tener disponible desde varios formularios el código de un determinado cliente, para efectuar varias operaciones y consultas.
La variable “global” será CodigoCliente
En una de las ventanas lo que haremos será asignar un valor a la variable “CodigoCliente”, por lo que se utilizará el SET.
Para recuperar el valor almacenado en la variable “CodigoCliente” lo que utilizaremos será el GET, que nos devolverá el valor almacenado.
PASO A PASO
Bien, esto que parece muy sencillo, vamos a intentar explicar paso a paso su funcionamiento y el por qué de su funcionamiento.
1º Creación de una Clase Estática Pública
2º Definimos la variable “Global”, que será privada ya que se utilizará dentro del ámbito de la clase.
3º Definimos una propiedad Estática (static) en este caso será string y debe ser Pública.
Nota: A diferencia del método, no termina con paréntesis.
4º Finalmente definimos el Get y el Set de la siguiente manera
El GET que tampoco lleva paréntesis, debe devolver el valor de la variable con que trabajemos, y el SET debe asignar el valor.
Quedaría algo así:
-
span style="color: #808080;">""
Nota: para asignar el valor, se hace mediante “value” o “valor”, que será lo que haya a la derecha del igual en la asignación.
Podemos utilizar otro funcionamiento más simple:
Es la forma más sencilla de trabajar.
de esta manera podemos asignar un valor a la variable "global" desde cualquier método y clase, y también podemos recuperar su valor.
A título personal, es la más limpia y clara de utilizar.
-
span style="color: #008080; font-style: italic;">//y asignación
-
-
csvarGlobales.variableGlobal="nuevo valor";
-
-
Su funcionamiento
Vamos a suponer que tenemos dos formularios independientes Form1 y Form2
En Form1 vamos a asignar el valor a la variable para usarla más tarde en el Form2
-
span style="color: #808080;">"Codigo0001";
-
}
Nota: no hay que instanciar la variable, y se utiliza directamente desde la clase.
Para recuperar el valor desde el Form2 procederemos así:
A partir de la versión 3.0 del FrameWork se puede utilizar la siguiente declaración:
3 Comments
Excelente aporte
Gracias !
¡Muchas gracias por tu explicación, está excelente!
Saludos y un abrazo.