C# 具有可变参数的C DLL函数

C# 具有可变参数的C DLL函数,c#,dll,C#,Dll,我正在使用C DLL。该DLL中的一个函数以前有2个参数,最近改为4个参数 我正在为我的程序寻找一种方法来支持这两个版本 我的问题是我没有找到一种方法,因为链接器要求我匹配可用的函数签名 这两个新参数是可选的吗?让自己成为函数facade的包装器,并使用它代替直接调用。。。接下来,该函数可能有8个参数:如果我没弄错的话,您可以使用PInvoke调用来检查方法是否存在。。PInvoke调用的是我记不起来了我的头上没有使用链接器,这个问题被编译器捕获了。它可以告诉你的代码永远不会工作。如果您无法说服

我正在使用C DLL。该DLL中的一个函数以前有2个参数,最近改为4个参数

我正在为我的程序寻找一种方法来支持这两个版本


我的问题是我没有找到一种方法,因为链接器要求我匹配可用的函数签名

这两个新参数是可选的吗?让自己成为函数facade的包装器,并使用它代替直接调用。。。接下来,该函数可能有8个参数:如果我没弄错的话,您可以使用PInvoke调用来检查方法是否存在。。PInvoke调用的是我记不起来了我的头上没有使用链接器,这个问题被编译器捕获了。它可以告诉你的代码永远不会工作。如果您无法说服库所有者保持其代码兼容,并且仍然提供两个重载,那么您必须维护两个版本的程序。参数不是可选的。我认为我的解决方法将只是更新到最新版本,并与DLL的所有者合作,以便他们将来不会更改公共接口。不幸的是,我不能完全控制这一切。我只是希望有一些我不知道的C魔法。