是,就像在win32上面做java,不一定要会win32api

解决方案 »

  1.   

    从纯编程上来讲,好好熟悉dotNET类库就行了,这里面已经给你封装好了。
      

  2.   

    有上的说的有一定道理
    说到底,C#只是通向.NET Framework的接口而已,VB.NET, maged C++等也一样,殊途同归罢了。
    我不清楚.NET Framework具体实现机制,但这个有必要了解。
    就像侯Sir对MFC的探索一样,深入才能浅出。
      

  3.   

    什么是API?一个特定平台的应用程序开发接口。
    如果.NET的基本类库最终作为OS的一部分发布,那么它不就是API嘛?
    .NET无法完全取代传统的Windows API,但它将肯定成为windows程序开发的主流接口。
      

  4.   

    我是这样看的,Vs.net基类是对windows API的最好的包装,当然如果要mono把vs.net移植
    到linux上,当然我们写的C#代码可以不变,但是基类由他们做(当然不会是ms)...我真不明白,我们是在上边做代码,了解的真的很少,VS.net和取代API有关系吗?
    当然不能取代,API是一只笔,.net是用这只笔画出的框,我们是在这个框里填东西,(比喻不完全恰当,但至少有这层次的关系);
      无论是windows,linux,还是os/2如果想也想做个Free.net,都需要一只笔,如果做的好,我们可以不管是谁的笔做的,只关心这个.net框的结构,同样,如果这个框里的东西不
    够用,我们只有越过框,那程序移植就麻烦了                                    --愚见
      

  5.   

    程序要带着CLR走,这也是好事??
      

  6.   

    其实.NET的类库大部分都是用MSIL写的,所以不会有太多的移植困难。
    只要实现特定平台的CLR,基本上类库就可以完全移植过去了。
    问题是MS采用了PE格式定义Windows上的.NET程序,这样binary层次上的移植可能有些困难。程序总是对特定的平台有依赖性的,如果.NET成了平台的一部分,就不用带着CLR/类库走了。况且另一个好处是在不同的OS平台上可以保持程序不变。
      

  7.   

    tms2000(海天)说di狠恰当啊~ ;)pe格式也就是exe 的 loader不同,问题不是狠大应该
      

  8.   

    是啊,移植的主要敌人是window的pe格式,我猜想他的unix的版本会用java的运行方式,由指定程序来载入运行,而不是系统。
      

  9.   

    海天的比喻 好像不是很恰当吧
    我看API更像一支笔芯,直接用API函数就等于直接握着笔芯写字,不是很方便
    而.NET只是给这支笔装了一个智能化的笔套,这样写起字来就方便多了
    其实MFC也好,Wfc也好,vb也好,只是给笔芯装了不同的笔套而已,只不过有的笔套比其他笔套用起来更方便罢了
    顺便打个比喻,如果把写一个程序比作写一封信,用mfc和.NET生成的应用程序框架,就等于是编译系统已经帮你把你的信头和称呼日期等写好了,就像foxmail做的那样
    --愚见
      

  10.   

    C#的运行要转换为MIL要用到.net的类库,我想问各位高手的是:C#编写的程序是否不能直接在目前的windows平台运行而必须升级windows安装.ner MiL?另外C#源程序编译成MIL运行的话我们的源程序怎么保密?