两个方法返回不同的类型没有参数,如何调用
本文关键字:参数 何调用 调用 两个 方法 返回 类型 | 更新日期: 2023-09-27 18:01:03
有一些.net Dll库,这个Dll包含一个具有两个同名方法的类,例如:
void b()
{
}
bool b()
{
}
这在C#中是不可能的,但在内部似乎是可以的,当添加这样的库时,我如何从代码中调用一个方法?
我需要最简单的方法,我知道使用反射是可以的,但还有其他更简单的方法吗?
*编辑*
我在图书馆的元数据中得到了这个:
#region Assembly XXXX.dll, v xxxx
// C:'....................
#endregion
namespace XXXX.YYYYY
{
public class a : IDisposable
{
.
.
.
.
.
public void b();
public bool b();
.
.
.
.
public void Dispose();
}
}
哦,太可怕了。从C#调用它的唯一方法是通过反射;您可能需要使用GetMethods()
并从数组中找到您想要的(GetMethod()
重载可能不喜欢这样(。
一旦您有了MethodInfo
,您可以只使用Invoke
,也可以使用Delegate.CreateDelegate
来获得可以重用的类型化委托。这取决于你多久打一次电话,以及哪一个更可取。