【发布时间】:2010-04-19 03:49:42
【问题描述】:
从一个版本到另一个版本的 .NET,等于 P/Invoke 的更多功能被添加到 .NET
现在我有两个问题。
1) 就速度而言,哪一个比另一个更受欢迎,通常我使用 .Net 函数,但在紧密循环中我真的不知道哪一个会更快。
2) 有没有网站提供对应的列表?
【问题讨论】:
从一个版本到另一个版本的 .NET,等于 P/Invoke 的更多功能被添加到 .NET
现在我有两个问题。
1) 就速度而言,哪一个比另一个更受欢迎,通常我使用 .Net 函数,但在紧密循环中我真的不知道哪一个会更快。
2) 有没有网站提供对应的列表?
【问题讨论】:
1) 如果有 .NET 功能,您当然应该使用它 - 除非您有充分的理由不使用。
2) 是的,有一个将 Win32 API 函数映射到 .NET 方法的页面,虽然它已经很老了——它适用于 .NET 1.1。见http://msdn.microsoft.com/en-us/library/aa302340.aspx
编辑:我知道没有更新的列表,但您可以尝试的一个技巧是在 Reflector 中打开 .NET 框架程序集(如 mscorlib、System 等)并进行搜索对于 Win32 方法名称。如果程序集在内部调用它,您应该能够以这种方式找到它,然后找到它被引用的位置以将其跟踪到您可以调用的公共方法(如果有)。如果没有,至少您可以复制 P/Invoke 签名而无需弄清楚。
【讨论】: