如何从另一个库创建网站项目(App_Code)中定义的类型的实例
本文关键字:Code 定义 实例 类型 App 另一个 创建 项目 网站 | 更新日期: 2023-09-27 18:28:43
我正在尝试创建Web Site Project
中定义的类型的实例。类型名称是可配置的,因此是已知的,但对于程序集名称,在配置时不可能说出名称,因为网站项目是由ASP.Net.编译的
var typeName = ConfigurationManager.AppSettings["typeName"];
var assemblyName = '.. get the assembly name ..';
var instance = Activator.CreateInstance(assemblyName, typeName);
return (IUserCredentials)instance.Unwrap();
有什么简单的方法可以使用这个CreateInstance
重载吗?或者我应该搜索所有加载的类型并按名称找到它吗?
此代码在另一个库中使用,该库在网站项目中被引用。
App_Code
是分配给程序集的名称,该程序集包含App_Code目录类型中的类型,因此您应该:
string assemblyName = "App_Code";
如何从web应用程序中已知存在的类型中获取程序集,并使用它:
typeof(MyWellKnownType).Assembly
这可能不是确切的答案,但如果您有所需类的代码,您可以将其作为链接添加到其他项目中,并直接使用它,而不是使用反射。