难以接近的课程.VS2010

Mik*_*ike 2 .net c# oop visual-studio-2010

我真的不知道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);
    }
}
Run Code Online (Sandbox Code Playgroud)

Sim*_*eon 6

尝试将公共关键字添加到Person构造函数:

public Person(string name, int age)
Run Code Online (Sandbox Code Playgroud)


Ric*_*dle 6

你需要建立你的构造函数public:

public Person(string name, int age)
{
    ...
Run Code Online (Sandbox Code Playgroud)

您可能会问,为什么public默认情况下不是构造函数?一个类无法通过其构造函数实例化的重点是什么?好吧,如果你想要一个只能通过工厂方法实例化的类,例如,它会很有用.

public class Person
{
    public static Person makePerson(string name, int age)
    {
        ...
Run Code Online (Sandbox Code Playgroud)

作为Person类成员的工厂方法可以访问非public构造函数.