与Java不同,在C#中为什么我们必须在静态方法,变量中使用public关键字才能从另一个类访问它?以下代码给出编译器错误:
class Program
{
static void Main(string[] args)
{
A.say();
}
}
class A{
static void say(){
Console.WriteLine("Hello!");
}
}
因为根据文档:
默认情况下,类和结构成员(包括嵌套类和结构(具有
private
访问权限。
大概您提到的编译器错误(但未指定(告诉您该成员由于其保护级别而无法访问。 这是因为默认值在未指定时private
,并且该成员确实未指定。
使成员public
从类外部访问它:
public static void say(){
Console.WriteLine("Hello!");
}