检查是否存在本机方法

时间:2016-04-13 13:48:51

标签: c# pinvoke

我正在围绕第三方C ++库编写C#包装器,并且在新版本中将方法参数从uint更改为ulong。 我仍然需要支持旧版本,最好不要更改包装器接口。

现在我需要知道我是否可以调用新方法或旧方法。我已经测试过我可以在没有C#异常的情况下使用旧库调用新方法,但结果当然是错误的。

有没有办法检查是否存在具有特定参数类型的本机方法?或者可能是另一种方式呢?

这是改变方法的一个例子(注意值参数):

[DllImport("Foo.dll")]
public extern static uint Bar(IntPtr ptr, uint value, out IntPtr optr);

[DllImport("Foo.dll")]
public extern static uint Bar(IntPtr ptr, ulong value, out IntPtr optr);

0 个答案:

没有答案