动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   .Net → 阅读文章

 由C++转向C#需要注意的变化(六)

作者来源: 
阅读 3319 人次 , 2006-4-27 10:09:00 

  引言:每隔10年左右,编程人员就需要花费大量的时间和精力去学习新的编程技术。在80年代是Unix和C,90年代是Windows和C++,现在又轮到了微软的.NETFramework和C#。尽管需要学习新的技术,但由此带来的好处却远高于付出的劳动。 幸运的是,使用C#和.NET进行的大多数工程的分析和设计与在C++和Windows中没有本质的变化。在本篇文章中,我将介绍如何实现由C++到C#的飞跃。

  已经有许多文章介绍过C#对C++的改进,在这里我就不再重复这些问题了。在这里,我将重点讨论由C++转向C#时最大的变化:由不可管理的环境向可管理的环境的变化。此外,我还会提出一些C#编程人员容易犯的错误供大家参考,此外,还将说明一些C#语言的能够影响编程的新功能。

  系列文章:[由C++转向C#需要注意的变化(一)(二)(三)(四)(五)]

  只发现方法

  我们可能会只关心方法,而不关心域、属性等,为此,我们需要删除如下的对GetMembers的调用:


  MemberInfo[]mbrInfoArray=
  theType.GetMembers(BindingFlags.LookupAll);

  然后添加调用GetMethods的语句:


  mbrInfoArray=theType.GetMethods();

  现在,输出中就只剩下方法了。


  Output(excerpt)
  BooleanEquals(System.Object)isaMethod
  System.StringToString()isaMethod
  System.StringCreateQualifiedName(System.String,System.String)
  isaMethod
  System.Reflection.MethodInfoget_EntryPoint()isaMethod

  发现特定的成员
  最后,为了进一步地缩小范围,我们可以使用FindMembers方法来发现某一类型的特定的方法。例如,在下面的代码中,我们可以只搜索以“Get”开头的方法。


  publicclassTester
  {
  publicstaticvoidMain()
  {
  //检查一个单一的对象
  TypetheType=Type.GetType("System.Reflection.Assembly");
  //只获取以Get开头的成员
  MemberInfo[]mbrInfoArray
  theType.FindMembers(MemberTypes.Method,
  BindingFlags.Default,
  Type.FilterName,"Get*");
  foreach(MemberInfombrInfoinmbrInfoArray)
  {




  
 本文TagsC#  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:由C++转向C#需要注意的变化(五)
· 下一篇:由C++转向C#需要注意的变化(一)
· 如何开发一个多种语言版本的C#程序
· 接收信息页面inform.asp--基于web的QQ程序
· ASP.NET多语言支持
· ASP.NET中编程杀死进程
· 在VS.NET 2005中体验clickonce技术


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077