我有一个从我的数据库加载数据的类。在这个类中,我有一个函数,它实际加载数据并将其以 DataTable 的形式返回给调用函数。
然后我遍历 DataTable 并根据每一行创建各种类的对象。
我想做的是改变流程,这样我就可以调用加载数据的函数,它可以确定应该创建的对象的类型。这里有 2 个伪调用来显示我想要进行的调用类型:
List<Teacher> =this.loadData(String sql, Hashtable data, {teachers class});
List<Student> = this.loadData(String sql, Hashtable data, {students class});
现在,教师和学生类不扩展公共类。但是,如果它有帮助,我可以做出这样的改变。
李
更新:
感谢到目前为止所有给出答案的人。似乎没有一个解决方案能真正改进我拥有或超出我的编程技能的代码。
我确实找到了这篇文章:Create an instance of a class from a string
在那里有人提到了以下从字符串创建类的技术: System.Reflection.Assembly.GetExecutingAssembly().CreateInstance(string className)
但是,他们还说必须将生成的对象转换为实际的类。所以这让我想知道我是否将生成的类(在转换之前)放入一个列表中,这样做会自动转换对象吗?