如果我们创建一个类象下面这样它会抛出一个错误? 由于StudentCollection指的是同一类。 哪个是正确的?
1。
public class StudentDetail
{
public Collection<StudentDetail> StudentCollection { get; set; }
public string StudentName { get; set; }
public Guid StudentID { get; set; }
public int RollNo { get; set; }
public Guid ClassID { get; set; }
}
2。
public class StudentDetail
{
public Collection<studentinfo> StudentCollection { get; set; }
}
Public class studentinfo
{
public string StudentName { get; set; }
public Guid StudentID { get; set; }
public int RollNo { get; set; }
public Guid ClassID { get; set; }
}
答案 0 :(得分:6)
是的,没有问题。您可以以与在类型中具有相同类型的成员相同的方式在类中具有Collection<ThisClass>
。例如,这也是完全有效的:
class Person
{
Person Mother { get; set; }
}
所以问题仍然存在,如果它是最好的做法。我认为不是,因为您说每个实例也是其自身的集合。您应该有一个像这样保存它的类:
class University
{
IEnumerable<StudentInfo> Students { get; set; }
}
但是,如果我们举第一个例子,有时可能是正确的:
class Person
{
Person Mother { get; set; }
IEnumerable<Person> Children {get; set; }
}