尽量避免!应该说DotNet就是一套全新的API。
功能应该是足够了,除了要调用以前的一些东西外,只不过现在的很多软件和硬件的SDK都是传统的DLL,
这种情况是没有办法的,将来这些东西都会支持.Net组件。

解决方案 »

  1.   

    目前不可能,很多API在FCL中找不到替代品。
    但在可能的情况下确实应该尽量实用类库尔不是API。而且,从设计上来说,把于系统关联的部分分离出来建立独立的package,layer也可以减少移植的复杂程度。(CLR本身就是这样做的)
      

  2.   

    我认为根本不应该去调用API
    除了平台无关性之外
    C#根本就适合于做低层的东西
    就好象用Java写HOOK一样
    C#在于它的易用性和快速开发而非低层控制
    如果用于低层的话
    VC7恐怕还是最好的选择
      

  3.   

    从我的经验来看,完全做到平台无关性目前还很困难,所以有的情况下还是需要调用API。当然我也认为越少越好。
      

  4.   

    不用当然好了,可是有的时候是没有办法的,我想给托盘程序作个热键激活功能都不得不用API,.NET类库中还是有好多东西没有的。可是做程序用VC作又实在太麻烦,所以在VC#中用API其实也不错的,只要你不想跨平台的话。
      

  5.   

    必要时还是需要api的,比如注册表操作,还有比如配置odbc...
    盲目追求跨平台是不现实的。
      

  6.   

    恐怕还是得用,否则仅仅依据 .Net 现有的类库,好些功能根本无法实现。
      

  7.   

    还是要用到API,但是有很多的麻烦,有些古老的C数据类型用C#使用起来相当的麻烦,大家千万要小心。特别是字符串这样的操作,真得让人很不省心。