我仍然在用C#找到我的脚,并且有一个快速的问题一直困扰着我。
假设我写了一个类并定义了一个属性,如下所示: -
public class Employee
{
string FirstName {get; set;}
}
class Program
{
private static object GetTheEmployee()
{
return new Employee{ FirstName = "Joe" }
}
}
为什么在GetTheEmployee方法中使用FirstName是不可访问的,但是当我将Employee类中的FirstName'string'变量改为'public string'时,可以从Program类访问它。
我原本以为如果我将类的访问修饰符声明为public,那么类中的所有变量默认都是公共的?
答案 0 :(得分:6)
如果我宣布课程的话,我会想到。访问修饰符为public,那么类中的所有变量默认也是公共的?
他们没赢。类成员的默认访问修饰符为private
。如果要使它们public
,则需要明确指定它。
答案 1 :(得分:4)
您宣布课程为public
这一事实并不意味着所有课程成员也将公开。
默认情况下,类成员(字段,属性,方法等)具有private
访问修饰符,因此,如果您尚未明确声明您的属性为public
(或受保护,内部和所以,它将是私人的。