2016-09-09 70 views
0

對其他人來說,這可能是顯而易見的,我已經與它搏鬥了好幾個小時而無濟於事。如何在整個應用程序中實現全局int/counter?

如何在整個應用程序中實現全局int/counter?

這只是我需要的一個int,它只會增加。 計數器將從不同的類中的幾個不同的方法異步調用,這些方法都對WebApi的相同JSon輸出做出貢獻。 有很多小數據塊需要附加一個唯一的ID。

希望這是有道理的。 感謝您的幫助。

+0

聲音從OOP的角度也不好主意。這個變量是什麼?它是存儲對象的計數器嗎?那麼你應該考慮爲這些元素創建一些收集。 – HimBromBeere

+0

我認爲這是爲了調試目的。因此我會這樣做:創建一個像integer一樣工作的類,並且還有一個計數器,並且在代碼的每個部分中使用另一種類型,該類型在調試時設置爲您的類,否則設置爲整數。 – Aziuth

回答

2
public static Global 
{ 
    private static int _counter = 0; 
    private static readonly object _lockObject = new object(); 
    public static void Increment() 
    { 
     lock (_lockObject) { 
      _counter++; 
     } 
    } 
    public static int Counter 
    { 
     get 
     { 
      lock (lockObject) { 
       return _counter; 
      } 
     } 
    } 
} 
1
public static Global 
{ 
    private static int counter = 0; 
    public static int Counter 
    { 
     get 
     { 
      return Interlocked.Incremenet(ref counter); 
     { 
    } 
} 
相關問題