Visual Studio 2008环境新特性
NET Framework 兼容支持使用Visual Studio 2008可以进行基于多个.net framework 版本的开发Visual Studio 2008同时支持framework 2.0/3.0和3.5几个版本。在不同的版本下它可以自动的框架特性工具箱项目类型引用智能提示……过滤功能。我们升级到Visual Studio 2008也非常简单。· ASP.NET AJAX和JavaScript智能客户端支持ASP.NET AJAX成为.NET 3.5的一部分除了包括ASP.NET AJAX 1.0的所有功能外还集成了WebParts的UpdatePanel与asp:menu and asp:treeview这样的控件的 ASP.NET 实现AJAX 集成。编写JavaScript提供了智能提示和调试的功能还增加了JSON的全面支持无论在WCF还是AJAX上都有广泛的应用。· 全新的Web开发体验Web设计器提供了分割视图编辑、嵌套母板页、以及强大的CSS编辑器集成。ASP.NET提供了三个新的控件asp: ListView、asp: DataPager、asp: LinqDataSource这些控件对数据场景提供了非常好的支持允许对输出的标识做完全的控制。· 其他Visual Studio 2008加入拼写检查器可以在编译前对不正确的定义或返回类型进行检查。也优化了特别是自动提示和重构功能支持智能部署ClickOnce.集成对Office (VSTO)和Sharepoint 2007开发的支持。性能上运行一个后台编译器的速度比原来提高了一倍以上而使用的内存不到原来的一半。VS2008精简了CLR的线程池使各种类型的多线程应用程序也得到性能改进。二、.Net FrameWork 3.5的新语法特性自动属性(Auto-Implemented Properties)隐含类型局部变量(Local Variable Type Inference)匿名类型(Anonymous Types)对象与集合初始化器(Object and Collection Initializers)扩展方法(Extension Methods)Lambda表达式和Lambda表达式树 (Lambda Expression and Lambda Expression Trees)语言级集成查询Linq系列支持(Language INtegrated Query)自动属性举例private String name;public String Name{get { return name; }set { name value; }}.NET 3.5下的新写法public String Name { set; get; }隐含类型局部变量举例var url http://www.168.com; //url被识别Stringvar dt new DataTable(); //dt被识别为DataTablevar status false; //status被识别为Boolen匿名类型举例var site1 new { url http://1.2.3.4 , title BBS, author Alex, qq 4111852 };var site2 new { url http://www.168.com , title Title, author Alex, qq 4111852 };site1.url site2.url;对象与集合初始化器举例User user new User();user.Id 1;user.Name Alex;user.Age 22;.NET 3.5下新的写法var user new User { Id 1, Name Alex, Age 22 };扩展方法举例public static int Int(this HttpRequest request, string key){return int.Parse(request[key]);}调用方法int id Request.Int(id);Lambda表达式和Lambda表达式树举例string[] nums { 8, 966, 55, -14, 33, 2 };//选择数组中第偶数个元素的数值平方并输出排序后的结果nums.Select(n Int32.Parse(n)).Where(n n % 2 0).Select(n n * n).OrderBy(n n).ToList().ForEach(n Console.WriteLine(n));n n % 2 0n Console.WriteLine(n)等都是Lambda表达式。Linq(Linq To Entity)举例public IList getUserLogin(){using (var TE new TestEntities()){var lstLogin (from user in TE.Users where user.Enabled 1select new Login{PW user.Pass,ID user.Id}).ToList();return lstLogin;}}关于.Net 3.5的语言特性老赵在博客里有极为精妙的论述强烈建议没有看过的朋友同学去读一下。三、历史性的三大集成框架太重要了未来两到三年一定会成为招聘.Net开发的基本要求WPF (Windows Presentation Foundation)WPF是微软新一代图形系统为用户界面、2D/3D 图形、文档、视频、动画、三维等媒体提供了统一的描述和操作方法。基于DirectX 9/10技术的WPF不仅带来了前所未有的3D界面而且其图形向量渲染引擎也大大改进了传统的2D界面比如Vista中的半透明效果的窗体等都得益于WPF。 程序员在WPF的帮助下要开发出媲美Mac程序的酷炫界面已不再是遥不可及的奢望。 WPF相对于Windows客户端的开发来说向前跨出了巨大的一步它提供了超丰富的.NET UI 框架集成了矢量图形丰富的流动文字支持flow text support3D视觉效果和强大无比的控件模型框架。对于开发人员和设计人员WPF引擎统一了开发人员和设计人员体验文档、媒体和 UI 的方式他们从此只需学习一个模式。对于 .NET 开发人员其框架是熟悉的并且它最终将减少提供最佳用户体验和通信逻辑所需的代码行数。对于设计人员WPF 提供的平台可消除内容、媒体和应用程序之间的边界。更重要的是WPF可以使开发人员和设计人员像Web开发一样同步紧密地合作也将大大提高C/S项目开发效率。