2009-09-08 21 views
7

Jak wywołać zmienną z klasy publicznej do innej klasy publicznej w języku C#. mam:Wywoływanie zmiennej z innej klasy

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

muszę zadzwonić z:

public class Main 
{ 
} 

Dzięki za pomoc z góry.

Praca w aplikacji konsolowej.

Odpowiedz

23

To będzie tylko:

Console.WriteLine(Variables.name); 

i musi być publiczny także:

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

mam próbowałem tego i otrzymuję: Zmienna.nazwa jest niedostępna ze względu na poziom ochrony –

+1

czy jesteś pewien, że dodałeś publiczną modyfikację er. –

+0

Kiedy odpowiedziałem, z jakiegoś powodu nie widziałem dodanego modyfikatora publicznego. Tak, zadziałało. Wielkie dzięki :) –

2

musisz określić modyfikator dostępu do zmiennej. W tym przypadku chcesz, żeby była publiczna.

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

Po tym można użyć zmiennej takiej jak ta.

Variables.name 
8

Proponuję użyć zmiennej zamiast polu publicznym:

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

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

    } 
} 

z innej klasy, zadzwonić zmienna tak:

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

Właściwie lepiej byłoby, gdyby nie miał zmiennych w klasie statycznej. – ChaosPandion

+1

dlaczego tak mówisz ... dlaczego nie? –

+3

Może to po prostu ja, ale uważam, że dobrą praktyką jest uczynienie statycznych klas całkowicie bezpaństwowcami. – ChaosPandion

1
class Program 
{ 
    Variable va = new Variable(); 
    static void Main(string[] args) 
    { 
     va.name = "Stackoverflow"; 
    } 
} 
Powiązane problemy