【发布时间】:2011-03-28 13:24:17
【问题描述】:
我正在开发一个 .NET 4.0 客户端,它将利用 C 库进行数据处理。用户将能够指定他们希望加载以进行处理的 DLL 文件。
我正在按照此处所述进行后期绑定/程序集加载。 http://blogs.msdn.com/b/jonathanswift/archive/2006/10/03/dynamically-calling-an-unmanaged-dll-from-.net-_2800_c_23002900_.aspx
对于每个 DLL,相同的方法调用序列在我的客户端中是相同的,但方法签名会改变或传入的数据结构会改变。使用结构填充的数据将根据 DLL 的版本和其他因素而有所不同。例如,MyStruct 的定义会根据 DLL 的版本而改变。
public delegate int INTF_my_method(ref MyStruct pDataStruct);
针对这种方法推荐了哪些设计模式或设计决策?我需要根据用户指定的 DLL 版本加载适当的 C 方法委托和数据定义,并适当地填充结构。有没有人做过这样的事情?
【问题讨论】: