【发布时间】:2015-11-13 06:05:36
【问题描述】:
给定这样的课程
public class Employee
{
public Employee()
{
Children = new List<Child>();
}
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
public virtual EmployeeCard EmployeeCard { get; set; }
public virtual IList<Child> Children { get; protected set; }
}
如果我有上述类的对象,如何在运行时确定EmployeeCard 属性是对象还是对象列表?这可能吗?
【问题讨论】:
-
EmployeeCard,没有看到它的类定义,看起来是一个单一的对象。您不能将数组分配给包含单个对象的数组,因此您不需要在运行时检查它。怎么可能包含一个列表或单个对象? -
罗恩完全正确。如果是列表,则类型为 IList
等。强类型语言的好处之一是能够一目了然地看到此类信息。 -
嗯。它怎么可能成为一个列表?它被定义为单个对象 ....
-
我在运行时需要它不是为它分配一个数组,而是根据类型和关系创建未知对象类型(可能是Employee,EmployeeCard,......)的动态报告在我需要生成报告的类之间
标签: c# reflection properties