2009-09-08 319 views
7

¿Cómo puedo llamar una variable de una clase pública a otra clase pública en C#. tengo:Llamar a una variable de otra clase

public class Variables 
{ 
    static string name = ""; 
} 

tengo que llamarlo desde:

public class Main 
{ 
} 

Gracias por la ayuda de antemano.

Trabajando en una aplicación de consola.

Respuesta

23

Eso sería:

Console.WriteLine(Variables.name); 

y tiene que ser pública también:

public class Variables 
{ 
    public static string name = ""; 
} 
+0

tengo lo intenté y obtuve: Variables.name es inaccesible debido a su nivel de protección –

+1

¿está seguro de que ha agregado el modifi público? er. –

+0

Cuando respondí, por alguna razón no vi el modificador público que agregó. Sí, funcionó. Gracias a un grupo :) –

2

es necesario especificar un modificador de acceso para su variable. En este caso, lo quieres público.

public class Variables 
{ 
    public static string name = ""; 
} 

Después de esto, puede utilizar la variable de esta manera.

Variables.name 
8

sugeriría a utilizar una variable en lugar de un campo público:

public class Variables 
{ 
    private static string name = ""; 

    public static string Name 
    { 
     get { return name; } 
     set { name = value; } 

    } 
} 

de otra clase, se llama a la variable de la siguiente manera:

public class Main 
{ 
    public void DoSomething() 
    { 
     string var = Variables.Name; 
    } 
} 
+1

En realidad, sería mejor para él no tener variables dentro de una clase estática. – ChaosPandion

+1

¿por qué dices eso ... por qué no? –

+3

Puede que sea solo yo, pero creo que es una buena práctica hacer que las clases estáticas sean completamente apátridas. – ChaosPandion

1
class Program 
{ 
    Variable va = new Variable(); 
    static void Main(string[] args) 
    { 
     va.name = "Stackoverflow"; 
    } 
} 
Cuestiones relacionadas