扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
(四) 泛型
不错,这并非是一个ASP.NET特有的特征,但是.NET 2.0中泛型的引入大大丰富了代码的编写。以前,在创建定制集合时,我常常非常小心;坦诚地说,反反复复地从CollectionBase进行派生然后重新实现相同的代码是一件非常折磨人的工作。对于定制控件开发,特别在ASP.NET中开发时,我发现当你需要集合特性时使用泛型集合效果相当好。
你只需简单地使用列表或一个特定的泛型集合,然后把它作为该控件的一个属性—问题就这么简单!Visual Studio能够看到这个集合;并且,在大多数情况下,它还能够为你提供相应的集合编辑器。通过使用泛型列表,你可以很容易地使用强类型化列表来代替许多基于ArrayList的列表,这往往使编码更为清晰。
最后,在业务对象内使用动态的类型替换消除了对令人“胆战心惊”的初始化编码(以前,在每一个业务对象中都要进行这种初始化以指定哪个实体类型与之相关联)的需要。在泛型出现以前,往往需要借助于一个小型编码代理来把业务对象和实体绑定到一起。现在,有了泛型类型后,不再需要这样的编码,而代之以一个泛型类型参数。此后,所有的类级代码就能够使用泛型类描述在运行时刻自动地生成正确的类型。借助于一个类型化参数和一组父类级方法,现在再也不需要从我的所有业务对象中剪切和粘贴大量的代码。其实,还存在许多使用泛型的场所;而且如今,我发现不使用泛型类型很多问题变得十分棘手,特别是在处理与集合相关的内容时。
【另注】泛型将会被广泛应用于集合及业务对象操作方面,而且,你也可以在页面基类和用户控件开发中从中获益。最近,我在网上看到有人构建一个泛型基页面实现自动地加载业务对象数据并建立相应的Ajax回调机制以便更新这些对象。你看,以前在每一个新页面中实现起来如此头疼的事情一下变得如此简单了!
(五) 支持嵌入式资源
我比较喜欢把大量的定制控件用于我自己的应用程序中。经常情况下,这些控件都会依赖于特定的资源,例如图像,CSS文件,XML资源等等。此时,任何这些控件的用户必须记住要在他们的应用程序中发布相应的文件。如今,在ASP.NET开发中,你可以容易地把需要的Web资源嵌入到一个工程中,然后经由一个ASP.NET生成动态的URL来存取它们。为此,你只需要简单地把[WebResource]属性添加到你的控件的AssemblyInfo文件中,然后使用Page.ClientScript.GetWebResourceUrl来检索包含这些资源内容的URL即可。
(六) Visual StudioASP.NET代码编辑器
Visual Studio 2005代码编辑器比2003版本前进了一大步。我认为,最重要的新“特征”在于,新的编辑器不会自动地“打乱”我的代码格式,除非我重新格式化文档。例如,我想让我的内容按我喜欢的方式进行组织,然而,当我使用VS2003时这却成了一个问题—无论何时把新的控件添加到页面系统都会重新格式化HTML。在VS2005中,编辑器在大多数情况下会保留用户自己的代码格式,并且还会提供一种更好的处理—把控件标记插入到代码中。
一个真正提高生产效率的改进是,在新的HTML编辑器中引入了智能感知技术—而且出现在每一处位置!我经常在一个页面内嵌入<%=%>表达式,而智能感知意味着它会帮助我避免错别字。ASP.NET 2.0还会编译页面并且检查生成的嵌入式脚本代码,以便及早地在设计时刻而不是在运行时刻才捕获HTML标记中的错误。
智能感知适合于所有的控件,包括你自己的定制控件,因此你不必再提供一种私有类型模式文件。Visual Studio能够简单地找到你的控件并且在内部管理智能感知。智能感知支持真是太好了,有时它甚至能够“超越”可视化设计器。一会儿后,你就会明白为什么这可能比你想像的更为重要。
【另注】作为一名最近才从Visual Basic转到C#的新手,我特别欣赏Visual Studio 2005提供的C#智能感知支持。在Visual Studio以前的版本中好象在对VB和C#的智能感知支持方面存在很大的差距;并且,当我分析C#代码时,我常常发现我自己十分需要有一种VB风格的智能感知帮助。现在,现在这种差距消失了,而且语言之间的切换也更为容易了。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者