我仍然在用C#找到我的脚,并且有一个快速的问题一直困扰着我.
假设我写了一个类并定义了一个属性如下: -
public class Employee
{
string FirstName {get; set;}
}
class Program
{
private static object GetTheEmployee()
{
return new Employee{ FirstName = "Joe" }
}
}
Run Code Online (Sandbox Code Playgroud)
为什么在GetTheEmployee方法中使用FirstName是不可访问的,但是当我将Employee类中的FirstName'string'变量改为'public string'时,可以从Program类访问它.
我原以为如果我将类的访问修饰符声明为public,那么类中的所有变量默认都是公共的?
我原以为如果我将类的访问修饰符声明为public,那么类中的所有变量默认都是公共的?
他们不会.类成员的默认访问修饰符是private.如果要创建它们public,则需要明确指定它.
您已将 class 声明为 as 的public事实并不意味着 class 的所有成员也将是 public。
默认情况下,类成员(字段、属性、方法等)具有private访问修饰符,因此如果您没有明确声明您的属性public(或 protected、internal 等),它将是私有的。