如果我们在vb.net的模块中声明一个global
变量,我们可以在项目的任何地方使用该变量。
我们如何在C#中实现同样的目标。
以前当我们尝试将vb.net项目转换为C#时,我们成功删除了语法错误,但我们无法访问表单中的全局变量。
我需要一些解决方案或指导。我在哪里弄错了?
答案 0 :(得分:3)
在C#中,您可以声明static字段。
public class Foo
{
public static string value;
}
并在任何地方使用ClassName.Member语法使用value
字段。
Foo.value="Hello!";
答案 1 :(得分:3)
您可以通过将变量放在静态类中来近似VB.Net Module
功能:
public static class Foo
{
public static string Bar { get; set; }
}
这将允许您通过Foo.Bar
。
答案 2 :(得分:2)
您可能还想考虑使用Singleton Pattern。这使您的变量初始化逻辑保持在合理的位置。它也很容易保护或跟踪变量的变化。
答案 3 :(得分:1)
答案 4 :(得分:0)
应该一样。确保标记为静态。或者尝试在模块中使用静态属性而不是变量。
答案 5 :(得分:0)
如果它是值类型,如int,string等,则不能声明公共变量。
但是你可以将它包装在struct中,例如