2013-06-17 20 views
5

Czy możliwe jest inicjowanie wartość stałej wartości za pomocą metody z innej klasyInicjowanie ciągłej zmiennej przy użyciu metody (C#)

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     const int gravit = haha.habc();//something like this 
     static void Main(string[] args) 
     { 
      some codes..... 

     } 
     public class haha 
     { 
      int gar = 1; 
      public int habc() 
      { 
       int sa = 1; 
       return sa; 
      } 

     } 
    } 
} 

Na przykład jak kody wyżej (FYI z tym kodem jestem coraz Expression bycia przypisane do ... musi być stałe), jeśli nie, jest inna metoda na zrobienie czegoś podobnego do tego.

+4

„Stała Zmienna” dość dużo podsumowuje nieporozumienie ;-) – Robert

Odpowiedz

7

Nie, to nie jest możliwe, można użyć readonly pole zamiast ponieważ stałe wartości powinny być znane w czasie kompilacji:

private static readonly int gravit = haha.habc();//something like this 

UWAGA: metoda habc powinna być statyczna, jeśli chcesz to nazwać w ten sposób .

+0

ok dzięki przynajmniej wiem, że jestem w stanie zrealizować tego – user1461511

+0

@DarinDimitrov - jest 'Zależności Resolver' brakuje linii kodu' private static readonly int gravit = haha.habc(); '? – wuhcwdc

+0

@PankajGarg, huh? –

1

Constants są wartościami, które powinny być znane w czasie kompilacji i nie można ich zmienić. Więc ReadOnly jest opcją, z którą powinieneś pójść.

private readonly int gravit = haha.habc(); 
Powiązane problemy