如何用StudentId = 1和Name ="Alex"初始化这样的类
class Student
{
public int StudentId { get; set; }
public string Name { get; set; }
public Student(Student student)
{
StudentId = student.StudentId;
Name = student.Name;
}
}
class Program
{
static void Main(string[] args)
{
Student s = new Student()
}
}
Run Code Online (Sandbox Code Playgroud)
您可以添加另一个手动提供值的构造函数:
public Student(int id, string name)
{
StudentId = id;
Name = name;
}
Run Code Online (Sandbox Code Playgroud)
初始代码不起作用的原因是,当您创建需要相同类型的另一个实例的对象时,依赖关系链会上升到无穷大,您永远不会有起点.
通过使用手动构造函数,您可以手动创建起始点,换句话说,是其他对象可以依赖的初始对象.因此,您消除了无限的依赖链.