在ASP.NET v2应用程序中将类名称作为字符串时,如何创建对象实例?例如,我在应用程序的app_code部分中定义了一个名为SystemLog的类.该类在Reports命名空间中定义.要创建对象的实例,我执行以下操作:
Dim MyObject As New Global.Reports.SystemLog
但是,我想使用字符串来创建此对象来定义类型.类型名称作为字符串存储在SQL数据库中.我认为这可能与Activator.CreateInstance(AssemblyName,TypeName)有关,但我不知道的是传递这些字符串的内容.ASP.NET Web应用程序的程序集名称是什么?
救命!
谢谢,罗布.
PS.我不想要硬编码的Select语句:-)
string typeName = "Your Type Name Here"; Type t = Type.GetType(typeName); object o = Activator.CreateInstance(t);
这将给你一个instanciated类型.如果由您决定将其转换为正确的类型并调用适当的方法.
如果您需要创建一个没有无参数构造函数的类型,CreateInstance上会有一个重载,它会将一对对象传递给构造函数.有关这篇MSDN文章的更多信息.