2011-09-21 47 views
0

如果我們在vb.net模塊中聲明瞭global變量,我們可以在項目中的任何地方使用該變量。如何在C#中訪問全局變量,如在VB.net中?

我們如何在C#中實現同樣的事情。

此前,當我們試圖將vb.net項目轉換爲C#時,我們成功地刪除了語法錯誤,但無法訪問表單中的全局變量。

我需要一些解決方案或指導。我在哪裏犯錯誤?

+0

我認爲你正在尋找類似的東西 http://stackoverflow.com/questions/4751013/c-global-module –

回答

3

在C#中,您可以聲明static字段。

public class Foo 
{ 
    public static string value; 
} 

並使用value字段在任何地方使用ClassName.Member語法。

Foo.value="Hello!"; 
+0

需要標記類'靜態'以及使用提供的例子。 –

+0

@Dmitry:因爲他的一個成員是'static'字段,所以不需要設置class'static' –

+2

@DmitryErokhin:實際上你不需要那樣做 - 但是讓類更加緊密地匹配VB.NET編譯器會在您定義模塊時執行。 –

0

應該工作相同。確保標記爲靜態。或者嘗試在模塊中使用靜態屬性而不是變量。

0

你不能聲明公共變量,如果它是值類型,如int,字符串等

但是你可以用它在結構例如

3

可以近似VB.Net Module功能通過將變量靜態類的內部:

public static class Foo 
{ 
    public static string Bar { get; set; } 
} 

這將讓您通過Foo.Bar任何地方訪問它的命名空間。

2

您可能還希望考慮使用Singleton Pattern。這將您的變量初始化邏輯保存在一個合理的位置。它也很容易保護或跟蹤變量的變化。

相關問題