正在阅读:由C++转向C#需要注意的变化(五)由C++转向C#需要注意的变化(五)

2004-11-23 10:08 出处:CSDN 作者:AustinLei 责任编辑:linjixiong

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

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

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

  属性的使用

  为了对属性进行测试,我们创建一个名字为MyMath的简单类,并给它添加二个函数,然后给它指定bugfix属性。


  [BugFixAttribute(121,"JesseLiberty","01/03/05")]

  [BugFixAttribute(107,"JesseLiberty","01/04/05",
  Comment="Fixedoffbyoneerrors")]
  publicclassMyMath

  这些数据将与元数据存储在一起。下面是完整的源代码及其输出:

  自定义属性


  usingSystem;
  //创建被指派给类成员的自定义属性
  [AttributeUsage(AttributeTargets.Class,
  AllowMultiple=true)]
  publicclassBugFixAttribute:System.Attribute
  {
  //位置参数的自定义属性构造器
  publicBugFixAttribute
  (intbugID,
  stringprogrammer,
  stringdate)
  {
  this.bugID=bugID;
  this.programmer=programmer;
  this.date=date;
  }
  publicintBugID
  {
  get
  {
  returnbugID;
  }
  }

  //命名参数的属性
  publicstringComment
  {
  get
  {
  returncomment;
  }
  set
  {
  comment=value;
  }
  }


察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品