日期:2014-05-17  浏览次数:20857 次

C# 如何申明一个dll中可能存在的类?(兼容问题)
用C#对其他程序做二次开发..主要就是调用主程序的dll...

问题来了,主程序有多个版本...我所必须调用的dll也有多个版本
不同版本之间的dll有一部分类是不一样的.

C# 项目引用的时候只能引用一个dll,我做兼容的时候就需要申明其他版本中的类
请问这一步要如何实现,需要代码示例
或者其他途径解决也行
谢谢指教

------解决方案--------------------
1. 反射创建那些类的实例,如果反射的到,说明存在,反之不存在。
2. 另外你可能需要再抽象出来一层,否则你的业务逻辑可能很乱。
------解决方案--------------------
首先你可以用反编译工具看到dll中的类
可以下载Reflector反编译工具
然后这样来调用,这个是调用windows API的例子
 [DllImport("kernel32.dll")]
 public static extern bool Beep(int frequency, int duration);