首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

c#:在exe类型字符串上从dll调用Type.GetType

您好!您的问题是关于在C#中从DLL文件调用Type.GetType()方法来获取EXE类型的信息。以下是我的回答:

在C#中,Type.GetType()方法是用于获取一个类型的Type对象,该类型可以是从DLL文件或EXE文件中加载的。要从DLL文件中获取类型信息,您需要提供完整的类型名称,包括命名空间和类名。例如,如果您要从名为“MyAssembly”的DLL文件中获取名为“MyNamespace.MyClass”的类型,您可以使用以下代码:

代码语言:csharp
复制
Type type = Type.GetType("MyNamespace.MyClass, MyAssembly");

在这里,“MyNamespace.MyClass”是完整的类型名称,“MyAssembly”是DLL文件的名称(不包括扩展名)。

如果您要从EXE文件中获取类型信息,您需要提供完整的类型名称和EXE文件的路径。例如,如果您要从名为“MyProgram.exe”的EXE文件中获取名为“MyNamespace.MyClass”的类型,您可以使用以下代码:

代码语言:csharp
复制
Type type = Type.GetType("MyNamespace.MyClass, MyProgram, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null");

在这里,“MyNamespace.MyClass”是完整的类型名称,“MyProgram”是EXE文件的名称(不包括扩展名),“Version”、“Culture”和“PublicKeyToken”是程序集的元数据,用于唯一标识程序集。

需要注意的是,Type.GetType()方法只能用于加载已经在当前应用程序域中加载过的类型。如果您需要加载一个尚未加载的类型,您需要使用Assembly.Load()或Assembly.LoadFrom()方法来加载相应的程序集,然后再使用Type.GetType()方法来获取类型信息。

希望这个回答能够帮助您解决问题!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • C# .Net中DataTable缓存的实例

    上次《C# Datalist 多列及Image中图片路径的绑定》提到过公司的三放心评选活动的海选,每个用户打开页面的时候,待评选的人员都是随机排序的,因为当时没有用Ajax的技术,用的还是老Webform页面刷新,所以每次用户提交投票以后,页面上的待评选人员都会重新随机排序。昨天再次搞第2季度的评选,我也懒得修改为Ajax的交互式设计,只是针对这个页面进行了随机排序的优化:每个用户登录后第一次打开页面是随机排序,后面再次打开(刷新)页面都保持第一次的排序。因为我没有使用数据查询语句的动态排序,而是在读取数据库后,DataTable动态增加了一列RowId,然后随机生成GUID,根据此列动态的排序,所以这里需要保存RowId的数据到Cache。

    03

    C#反射

    Reflection,中文翻译为反射。         这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’、‘模块(Module)’、‘类型 (class)’组成,而反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组成部分的相关信息,例如:         Assembly类可以获得正在运行的装配件信息,也可以动态的加载装配件,以及在装配件中查找类型信息,并创建该类型的实例。 Type类可以获得对象的类型信息,此信息包含对象的所有要素:方法、构造器、属性等等,通过Type类可以得到这些要素的信息,并且调用之。 MethodInfo包含方法的信息,通过这个类可以得到方法的名称、参数、返回值等,并且可以调用之。 诸如此类,还有FieldInfo、EventInfo等等,这些类都包含在System.Reflection命名空间下。

    02
    领券