asp.net - 如何在ASP.NET应用程序中创建类的实例

标签 asp.net reflection

当在ASP.NET v2应用程序中将类名指定为字符串时,如何创建对象的实例?例如,我在应用程序的app_code部分定义了一个名为SystemLog的类。该类在Reports命名空间中定义。要创建该对象的实例,我需要执行以下操作:

将MyObject调暗为新的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);

这将为您提供实例化的类型。如果由您决定将其强制转换为正确的类型并调用适当的方法。

如果您需要创建没有无参数构造函数的类型,则CreateInstance上会有一个重载,该重载将对象的参数传递给构造函数。有关此MSDN article的更多信息。

关于asp.net - 如何在ASP.NET应用程序中创建类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/422553/

相关文章:

c# - 使用反射来识别具有给定装饰器的属性

css - 如何缩小文件夹 ASP.net 中的 css

asp.net - 如何将 Bootstrap 添加到空的asp.net core 2模板应用程序?

c# - 在没有类型拆箱的情况下调用具有特定参数的方法

c# - 陷入无限循环迭代 C# 类中的属性

java - 从抽象类中获取字段实例

c# - asp.net listBox 文本/值

javascript - 如何将成功函数名称作为函数参数传递给 AJAX 调用?

在 ASP.NET 中使用 bundle 呈现 JQuery 脚本

c++ - "Variable"变量名 C++