我爱Aspx >> Asp.Net >> C#抢鲜快报之FAQ20答: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#。
Ҷƪл˵?
Beginner with c# 7[05-05]
Beginner with c# 6[05-05]
Beginner with c# 5[05-05]
Beginner with c# 4[05-05]
Beginner with c# 3[05-05]
Beginner with c# 2[05-05]
Beginner with C#[05-05]
源码推荐:一个使用C#绘制图形引..[05-05]
在C#里如何调用标准DLL函数[05-05]
C#抢鲜快报之FAQ20[05-05]
如何得到本机的ip地址![05-05]
移动没有标题的窗体[05-05]
在状态栏中加入BitMap[05-05]
在菜单中加入图标[05-05]
微软公司软件开发模式简介[05-05]
初始化C++类成员和在你的MFC应用..[05-05]
SAX 的一些乐趣[05-05]
RVP:存在和即时消息传送协议 (5..[05-05]
RVP:存在和即时消息传送协议 (4..[05-05]
RVP:存在和即时消息传送协议 (3..[05-05]