Declarar una variable global en c#

28/04/2010 - 14:44 por gferragut | Informe spam
Buenos dias , Saludos a todos ando probando C# vengo basicamente de
lenguajes web php, perl.

Tengo una duda como hago para compartir una varible con todos los
forms sin tener que pasarla es decir donde y como deberia declararla
intente declararla en el namespace del form principal pero al
buscarla en otro form no me aparece la solucion que consegui fue
pasarla al instanciar la forma, pero asumo que debe haber una forma
de declararla globalm le agradezco la ayuda


Gracias (Y) !!

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
28/04/2010 - 16:48 | Informe spam
"gferragut" wrote in message
news:
Buenos dias , Saludos a todos ando probando C# vengo basicamente de
lenguajes web php, perl.

Tengo una duda como hago para compartir una varible con todos los
forms sin tener que pasarla es decir donde y como deberia declararla
intente declararla en el namespace del form principal pero al
buscarla en otro form no me aparece



La solución consiste en declarar la variable como ESTATICA dentro de
cualquier clase (por ejemplo, el propio form principal, que también es una
clase):

public class formPrincipal: Form
{
public static string LaVariable;
...
}

Para acceder a ella desde cualquier otro sitio, se accede con
NombreDeLaClase.NombreDeLaVariable:

class OtroSitio
{
...
string loQueSea = fromPrincipal.LaVariable;
...
}
Respuesta Responder a este mensaje
#2 gferragut
28/04/2010 - 18:38 | Informe spam
excelente Gracias por la info aveces las cosas mas simples son las
que mas complicamos

On 28 abr, 10:48, "Alberto Poblacion" <earthling-
wrote:
"gferragut" wrote in message

news:

> Buenos dias , Saludos a todos ando probando C#  vengo basicamente de
> lenguajes  web php, perl.

> Tengo una  duda como hago para compartir una varible con todos los
> forms  sin tener que pasarla es decir donde y como deberia declararla
> intente declararla en el namespace del form principal pero  al
> buscarla en otro form no me aparece

   La solución consiste en declarar la variable como ESTATICA dentro de
cualquier clase (por ejemplo, el propio form principal, que también es una
clase):

public class formPrincipal: Form
{
    public static string LaVariable;
    ...

}

Para acceder a ella desde cualquier otro sitio, se accede con
NombreDeLaClase.NombreDeLaVariable:

class OtroSitio
{
    ...
    string loQueSea = fromPrincipal.LaVariable;
    ...



}
Respuesta Responder a este mensaje
#3 Gustavo Cantero
28/04/2010 - 18:41 | Informe spam
Puedes crear una clase estática con una propiedad estática, algo asi:

namespace MiNamespace
{
public static class Propiedades
{
public static string PropiedadCompartida { get; set; }
}
}

Luego desde cualquier lugar de tu aplicación la puedes acceder de esta
manera:

MiNamespace.Propiedades.PropiedadCompartida = "kkk";
String x = MiNamespace.Propiedades.PropiedadCompartida;

Suerte!

Gustavo A. Cantero
Scientia® Soluciones Informáticas
MCP - MCSD - MCTS - MCPD
http://www.scientia.com.ar
http://www.programandoamedianoche.com
http://foro.scientia.com.ar

De: gferragut [mailto:]
Expuesto a las: Miércoles, 28 de Abril de 2010 09:45 a.m.
Expuesto en: microsoft.public.es.csharp
Conversación: Declarar una variable global en c#
Asunto: Declarar una variable global en c#

Buenos dias , Saludos a todos ando probando C# vengo basicamente de
lenguajes web php, perl.

Tengo una duda como hago para compartir una varible con todos los
forms sin tener que pasarla es decir donde y como deberia declararla
intente declararla en el namespace del form principal pero al
buscarla en otro form no me aparece la solucion que consegui fue
pasarla al instanciar la forma, pero asumo que debe haber una forma
de declararla globalm le agradezco la ayuda


Gracias (Y) !!
Respuesta Responder a este mensaje
#4 RFOG
28/04/2010 - 18:48 | Informe spam
También puedes crear un constructor estático para inicializar las partes
estáticas de una clase normal o la clase entera si es estática.

El constructor se llamará justo antes de que se haga la primera llamada a
algún elemento estático de la clase.

Lo único que hay que tener muy en cuenta son las excepciones dentro del
constructor estático que a veces si no pones el manejador correcto se van
a cualquier sitio, y que no puedes llamar desde un constructor estático a
otro estático (por poder puedes, pero allá tu): no es que lo llames, es
que hagas referencia en un constructor estático a otro elemento estático
que a su vez lance otro constructor estático.

On Wed, 28 Apr 2010 18:41:11 +0200, Gustavo Cantero
wrote:

Puedes crear una clase estática con una propiedad estática, algo asi:

namespace MiNamespace
{
public static class Propiedades
{
public static string PropiedadCompartida { get; set; }
}
}

Luego desde cualquier lugar de tu aplicación la puedes acceder de esta
manera:

MiNamespace.Propiedades.PropiedadCompartida = "kkk";
String x = MiNamespace.Propiedades.PropiedadCompartida;

Suerte!

Gustavo A. Cantero
Scientia® Soluciones Informáticas
MCP - MCSD - MCTS - MCPD
http://www.scientia.com.ar
http://www.programandoamedianoche.com
http://foro.scientia.com.ar

De: gferragut [mailto:]
Expuesto a las: Miércoles, 28 de Abril de 2010 09:45 a.m.
Expuesto en: microsoft.public.es.csharp
Conversación: Declarar una variable global en c#
Asunto: Declarar una variable global en c#

Buenos dias , Saludos a todos ando probando C# vengo basicamente de
lenguajes web php, perl.

Tengo una duda como hago para compartir una varible con todos los
forms sin tener que pasarla es decir donde y como deberia declararla
intente declararla en el namespace del form principal pero al
buscarla en otro form no me aparece la solucion que consegui fue
pasarla al instanciar la forma, pero asumo que debe haber una forma
de declararla globalm le agradezco la ayuda


Gracias (Y) !!





Microsoft Visual C++ MVP => http://geeks.ms/blogs/rfog
Trabaja, y no comerás paja.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida