在运行时创建对象

时间:2012-02-27 19:41:01

标签: c# object runtime

有没有办法在c#中运行时创建对象?

为简单起见,假设以下问题.. 如果我有这个班..

class student {
string name;
int ID;} 

假设我正在编写一个程序,从用户那里获取学生人数(例如15),然后该程序应该从学生班级创建15个对象,并要求用户填写每个学生的姓名和ID。

我想知道的是如何在运行时创建对象?

2 个答案:

答案 0 :(得分:6)

  

有没有办法在c#中运行时创建对象?

由于您知道要在编译时创建的对象的类型,因此可以使用List<Student>来表示可以向其添加元素的对象的动态集合。然后在运行时,您可以要求用户输入要创建的学生数量,然后您将遍历此数字并使用列表中的Add方法向其中添加新元素。

就创建对象实例而言(在您的情况下为Student),您只需使用new关键字调用constructor即可。

如果在编译时不知道要创建的对象的类型,则可能需要求助于Reflection,以便在运行时动态创建它们的实例。

在你提出问题之前,答案是否定的,在你为完成这项家庭作业做出一些努力之前,我不会为你编写代码。

答案 1 :(得分:1)

首先,您应该考虑一个对象来保存您要创建的所有实例。 也许List< Student > .. 然后,您可以使用for-loop创建您喜欢的每个实例(使用new关键字)。 在循环内部,您可以获取用户输入以设置实例值(学生的姓名和ID)。