在C ++中,您可以定义全局变量的范围,静态关键字位于“文件范围”C#中是否相同?
谢谢!
答案 0 :(得分:1)
C#
没有文件范围的概念。 internal
可以实现类似的功能,允许您限制声明程序集的可见性。
答案 1 :(得分:0)
我不知道文件范围是什么,但你可以在class level
中定义你的变量,你可以随时在课堂内访问它。
public class MyClass
{
public static object SomeVariable;
...
}
这是C#.
答案 2 :(得分:0)
如果你打算创建一个名为Varriables的类,然后每次调用它,如:Varriables.myNewVarriable,那么你需要做的就是创建一个名为Varriables的类,然后使用:public static
public class Varriables
{
public static int myNewVarriable = 14;
}
然后从另一个类中调用它:
if (Varriables.myNewVarriable == 14)
{
Console.Write("True");
}
>>>True
答案 3 :(得分:0)
static关键字:在C ++中,static既可用于声明类级实体,也可用于声明特定于模块的类型。 在C#中,static仅用于声明类级实体。
有用的链接, C# for C++ Developers
答案 4 :(得分:0)
静态成员字段只能是公共的,内部的(仅在当前程序集和声明的朋友程序集中可见)或私有。
另外,您可以考虑嵌套类(即使是外部类外部也无法访问私有嵌套类的公共静态字段)。
保护“热门”共享成员的另一种方法(不是直接静态,但可以是静态实例的成员)是定义一个接口(可能是内部的),允许访问该成员。然后在静态实例的类中显式实现接口(将接口名称指定为成员名称的虚线前缀)。要访问此成员,授权代码必须首先将静态实例强制转换为接口。
一般来说,您只需要考虑内部访问。假设当前程序集中的代码在内部访问成员或类型方面表现良好。
也许您可以更明确地了解您的需求,我们可以找到最佳解决方案。