我真的不知道VS2010的问题是什么。我创建了一个类,当我尝试创建类的示例时,我得到一个错误:“错误xxx由于其保护级别而无法访问。
示例:
public class Person
{
Person(string name, int age)
{
this.name = name;
this.age = age;
}
public string name;
public int age;
}
class Program
{
static void Main(string[] args)
{
Person ps = new Person("Jack", 19);
}
}
答案 0 :(得分:6)
尝试将public关键字添加到Person构造函数:
public Person(string name, int age)
答案 1 :(得分:6)
您需要制作构造函数public
:
public Person(string name, int age)
{
...
您可能会问,为什么默认情况下不是构造函数public
?一个类无法通过其构造函数实例化的重点是什么?好吧,如果你想要一个只能通过工厂方法实例化的类,例如
public class Person
{
public static Person makePerson(string name, int age)
{
...
工厂方法是<{1}}类的成员,可以访问非Person
构造函数。