• λ我爱Aspx >> Asp.Net >> C#抢鲜快报之FAQ20
  • C#抢鲜快报之FAQ20

  • :未知  Դ:internet  :2007-5-5 19:46:33  ؼ:c#
  • 答:WinForms是.NET类库中的类集,其中封装了Win32类中的Windows,brushes和pens类等等。任何使用了运行库的语言(包括C#)都可以建立这些类的实例并进行控制。就我所知,WinForms和J++的WFC类库有些类似的地方。

    Q7.问:传闻C#已经被提交到ECMA标准化组织等待批准,是吗?

    答:对!到Q2去看看吧。

    Q8.问:ATL和COM在.NET新技术中会扮演怎样的角色呢?

    答:.NET架构中取代了很多老技术,象ATL、MFC、C运行库、标准模板库(STL)等等类库都不再出现了。.NET统一了编程类库,开发起来比使用这些老技术容易多了。我猜很多程序员看到.NET的这些优势后会义无返顾地选择离开老技术的。不过,老玩意还是有一定的优点的:它的性能相对来说比较好。如果你需要特别突出性能,那么还是可以继续摆弄这些老玩意的。另外,对于COM来讲,用.NET来开发相同功能的组件会比以前容易几个数量级,并且还能轻松搞定各个组件之间常常出现的互操作性要求。目前在.NET代码中还不能直接使用COM+和交易服务,但是可以通过间接的方法来使用,只不过在性能上要打些折扣。

    Q9.问:为什么C#没象C++那样提供模板功能?

    答:啊……啊……又来了,再说一遍好啦,模板其实应该是运行库提供的功能,不关C#语言的事。在C#中没有提供模板功能大致有两点原因。首先呢,执行模板有一定的困难,所以微软没打算在C#的第一版中提供这样的功能,以后的版本中会有类似的功能出现的。其次呢,因为这里的运行库是支持多语言的运行库(不仅仅是C#),如果在运行库中引入模板,就意味着所有使用这个运行库的语言都必须支持模板功能,在这一点上,微软不得不慎重考虑,所以也不打算现在就把模板加进去。

    Q10.问:在C#中会不会用真正的关键字换掉那些把ATL和COM搞得乱糟糟的伪关键字?象什么OLE_COLOR、BOOL、VARIANT_BOOL、DISPID_XXXXX什么的,烦都烦死了。

    答:这个您放心,绝对要换!每种类型在.NET类库中都有新名字了。

    Q11.问:我们现在看到了有限制程序的扩展和改善,除此以外,将来C++在MS或者.NET中的地位又将如何?

    答:C++语言在微软的各种语言中是最独特的一种,它也是唯一可以允许程序员开发无限制低级程序的语言。所以,我们常常可以看见程序员们用C++写性能要求较高的无限制的算法代码,同时也用C++编写有限制的安全程度很高的组件代码。我认为微软会继续保留C++的现状,并维持很长一段时间。毕竟,驱动程序需要它,Windows的基础也是它,很多产品也使用它。

    Q12.问:既然.NET支持ActiveX/COM,那么如何才能保证一个运行在浏览器中的C#程序的安全性呢?

    答:.NET运行库提供了代码访问安全特性,它允许管理员和用户根据代码的ID来配置安全等级。在缺省情况下,从Internet和Intranet下载的代码都不允许访问任何本地文件和资源。比方说,我写了个程序把它放到网络上,然后让它在网络上的共享目录中运行,如果它要访问我本地的一些资源,那么它将会无情地被异常扔出去,呵呵,当然,如果拷贝到本地硬盘上运行则一切正常。

    Q13.问:在我的机器上有C#程序,那么我是不是需要安装了.NET运行库才能运行它?

    答:对。所有的有限制程序都需要一个管理程序来限制它们;在这里,运行库就是管理程序。微软在以后将会把运行库打包起来免费分发,而现在最终用户必须从MSDN上安装整个.NET的SDK包才能运行C#。

    Ҷƪл˵?
  • һƪ电脑游戏中的人工智能制作
    һƪ如何得到本机的ip地址!