如果我們在vb.net模塊中聲明瞭global
變量,我們可以在項目中的任何地方使用該變量。如何在C#中訪問全局變量,如在VB.net中?
我們如何在C#中實現同樣的事情。
此前,當我們試圖將vb.net項目轉換爲C#時,我們成功地刪除了語法錯誤,但無法訪問表單中的全局變量。
我需要一些解決方案或指導。我在哪裏犯錯誤?
如果我們在vb.net模塊中聲明瞭global
變量,我們可以在項目中的任何地方使用該變量。如何在C#中訪問全局變量,如在VB.net中?
我們如何在C#中實現同樣的事情。
此前,當我們試圖將vb.net項目轉換爲C#時,我們成功地刪除了語法錯誤,但無法訪問表單中的全局變量。
我需要一些解決方案或指導。我在哪裏犯錯誤?
在C#中,您可以聲明static字段。
public class Foo
{
public static string value;
}
並使用value
字段在任何地方使用ClassName.Member語法。
Foo.value="Hello!";
需要標記類'靜態'以及使用提供的例子。 –
@Dmitry:因爲他的一個成員是'static'字段,所以不需要設置class'static' –
@DmitryErokhin:實際上你不需要那樣做 - 但是讓類更加緊密地匹配VB.NET編譯器會在您定義模塊時執行。 –
應該工作相同。確保標記爲靜態。或者嘗試在模塊中使用靜態屬性而不是變量。
你不能聲明公共變量,如果它是值類型,如int,字符串等
但是你可以用它在結構例如
可以近似VB.Net Module
功能通過將變量靜態類的內部:
public static class Foo
{
public static string Bar { get; set; }
}
這將讓您通過Foo.Bar
任何地方訪問它的命名空間。
需要將每個表單轉換爲靜態類??? –
不只是你需要全局訪問的變量 –
但我想訪問全球範圍內使用的控件...請提供建議 –
您可能還希望考慮使用Singleton Pattern。這將您的變量初始化邏輯保存在一個合理的位置。它也很容易保護或跟蹤變量的變化。
我認爲你正在尋找類似的東西 http://stackoverflow.com/questions/4751013/c-global-module –