这些是类似的问题:操作方法:在运行时使用 Silverlight 中的字符串从引用的程序集中加载类型,在引用的程序集中的类上的 GetType 失败,但两个答案都不起作用。
我有一个 MVC 项目,它从包含普通类型作为字符串的数据库中提取数据。这些类型在引用的程序集中,而不是在 MVC 项目中。
因此,例如,假设我的 Referenced Assembly Name 是MyFramework
普通类型名称Car
,完整的类型名称可以是MyFramework.Cars.Car
orMyFramework.Vehicles.Cars.Car
或其他一些变体。我所拥有的只是引用的程序集名称和纯类名作为字符串。无论完整类型名称如何,如何获取类型?
最后,我是否可以在引用的程序集中编写一个调用 GetType() 的函数并在 MvC 项目中使用它,以便我可以放弃包含程序集名称?我想删除知道程序集名称,所以我想我可以在引用的程序集中编写一个 Util,如:
namespace MyFramework //the referenced assembly
{
public static class TypeUtil
{
public static Type GetFrameworkType(string typeName)
{
return Type.GetType(typeName);
}
}
}
然后在我的 MVC 项目中,我可以调用它而不需要将程序集作为字符串名称。这是可能的还是我总是需要程序集名称?