积极答复者
不知VS2010版把Windows的API是否全部包装到.NET类库了?我是不是还是要继续了解C++而去学习互操作呀?因为有些Winform功能需要C++的API

问题
-
不知VS2010版把Windows的API是否全部包装到.NET类库了?(微软有这个计划吗/)我是不是还是要继续了解C++而去学习互操作呀?因为有些Winform功能需要C++的API
- 已移动 Sheng Jiang 蒋晟Moderator 2009年10月6日 16:21 .Net类库问题 (发件人:Visual C#)
答案
-
应该不会,不是很现实,常用的用,不常用的就DllImport呗。
另外,用第三方DLL也需要DllImport,封装全部Win32API不能达到不使用P/Invoke的目的。在interop时留心点也不会出现什么大问题。比如memory leak
Cheers, Cedric- 已标记为答案 Riquel_DongModerator 2009年10月12日 3:05
-
微软的.Net类库永远不会包含封装所有的Windows API。微软不是福利机构,要有足够用户需求才会投入资金开发产品。DirectDraw这样的过时API是不会有新的投入的。另外,一些每个操作系统都不同的API,比如Windows无线API,也不会有太多的用户需求。另外,.Net下载大小也是一个因素……虽然现在宽带都普及了,但是每个支持的操作系统的API都封装一遍的话,一个比操作系统还大几倍,而且很多功能当前操作系统都不支持的软件包会有多少人去下载?
The following is signature, not part of post
Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
Visual C++ MVP- 已建议为答案 Frank Xu LeiModerator 2009年10月7日 4:50
- 已标记为答案 Riquel_DongModerator 2009年10月12日 3:05
-
你好!
.NET Framework4.0应该也不会封装所有的API,很多因素决定了不可能封装所有的API(开发成本,.NET Framework的体积和使用复杂度等),如果需要使用API,可以直接在C#中声明,然后调用API就可以了!
周雪峰- 已标记为答案 Riquel_DongModerator 2009年10月12日 3:05
全部回复
-
应该不会,不是很现实,常用的用,不常用的就DllImport呗。
另外,用第三方DLL也需要DllImport,封装全部Win32API不能达到不使用P/Invoke的目的。在interop时留心点也不会出现什么大问题。比如memory leak
Cheers, Cedric- 已标记为答案 Riquel_DongModerator 2009年10月12日 3:05
-
微软的.Net类库永远不会包含封装所有的Windows API。微软不是福利机构,要有足够用户需求才会投入资金开发产品。DirectDraw这样的过时API是不会有新的投入的。另外,一些每个操作系统都不同的API,比如Windows无线API,也不会有太多的用户需求。另外,.Net下载大小也是一个因素……虽然现在宽带都普及了,但是每个支持的操作系统的API都封装一遍的话,一个比操作系统还大几倍,而且很多功能当前操作系统都不支持的软件包会有多少人去下载?
The following is signature, not part of post
Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
Visual C++ MVP- 已建议为答案 Frank Xu LeiModerator 2009年10月7日 4:50
- 已标记为答案 Riquel_DongModerator 2009年10月12日 3:05
-
你好!
.NET Framework4.0应该也不会封装所有的API,很多因素决定了不可能封装所有的API(开发成本,.NET Framework的体积和使用复杂度等),如果需要使用API,可以直接在C#中声明,然后调用API就可以了!
周雪峰- 已标记为答案 Riquel_DongModerator 2009年10月12日 3:05
-
请看下这个code Pack:
http://code.msdn.microsoft.com/WindowsAPICodePack
Best regards,
Riquel
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.