有一些.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();
}
}
答案 0 :(得分:3)
GetMethods()
并从数组中找到你想要的那个(GetMethod()
重载可能不喜欢它。)
获得MethodInfo
后,您可以使用Invoke
,也可以使用Delegate.CreateDelegate
获取可以重复使用的类型代理。这取决于您调用它的频率,以及哪些更可取。