VS2008新特性
来源:互联网 发布:淘宝商城检测报告 编辑:程序博客网 时间:2024/05/09 16:57
VS2008新特性
- 简单介绍及体会:
- 把Ajax extension集成到了Visual studio2008中;
- JS 智能感知;
如在编辑页面加入如下语句,则编辑器就支持JQuery智能提示 <script src="JqueryIntellisense/ <%if(false) { %><script src="JqueryIntellisense/ |
- LINQ(Language Integrated Query);
体会:在操作Objects,Sql,Xml,
string[] array = {"wis","dd","aa","ad" }; IEnumerable<string> res = from s in array where s.StartsWith("a") orderby s select s; foreach(string r in res) { Console.WriteLine(r); } |
- Var 隐式类型;
注:隐式本地变量的声明必须同时包含一个初始化器。
- 自动的属性,可以在编译的时候,生成private data field;
- 扩展方法:可以为编译好的程序集动态的添加方法;
体会:必须是static类+static方法;
以下是一个Json对象转换的类: namespace LSHI.JsonHelper { public static class OperatorJson { public static string ToJSON(this object obj) { DataContractJsonSerializer serializer = new DataContractJsonSerializer( using (MemoryStream ms = new MemoryStream()) { serializer.WriteObject(ms, obj); return Encoding.Default.GetString(ms. } } public static T ParseJSON<T>(this string str) { T obj = Activator.CreateInstance<T>(); using (MemoryStream ms = new MemoryStream(Encoding.Unicode. { DataContractJsonSerializer serializer = new DataContractJsonSerializer( return (T)serializer.ReadObject(ms); } } } } 使用如下: IList<User> listUser = new List<User> { new User{UserID="1001",UserName=" new User{UserID="1002",UserName=" new User{UserID="1003",UserName=" }; string str = listUser.ToJSON(); IList<User> obj = str.ParseJSON<List<User>>(); |
- 扩展接口;
项目中有些对象经常需要重置部分或全部属性到初始状态, 先定义一个接口: public interface IResetable { } 扩展这个接口: public static class ResetableImpl { public static void Reset(this IResetable obj) { var ctor = obj.GetType().GetConstructor( null, new Type[0], null); ctor.Invoke(obj, null); } } 定义一个使用该接口的类: class Mail : IResetable { public string Subject { get; set; } public string Body { get; set; } public MailAddress From { get; set; } public MailAddress To { get; set; } public Mail() { this.Subject = ""; this.Body = ""; this.From = null; this.To = null; } } 具体使用就很简单: public class Program { static void Main(string[] args) { Mail mail = new Mail(); mail.From = new MailAddress("wuchangx@qq.com") mail.To = new MailAddress("friend@anywhere. mail.Subject = "hi friend"; mail.Body = "mail content."; Console.WriteLine("1/nFrom={0} mail.From, mail.To, mail.Subject, mail.Body); mail.Reset(); Console.WriteLine("2/nFrom={0} mail.From, mail.To, mail.Subject, mail.Body); Console.ReadKey(); } } |
- 局部方法 局部类型;
- 初始化;
IList<User> listUser = new List<User> { new User{UserID="1001",UserName=" new User{UserID="1002",UserName=" new User{UserID="1003",UserName=" }; |
- 匿名类型;
var q = DataSession.Objects.Where (c => c.ReceiverName == receiverName && c.ProcessType == 0 && c.Deleted == 0 && c.Archived == 0 && c.IsDraft == 0 && c.ReceiverArchived == 0).OrderByDescending(c => c.ReceiveDate); |
- Lambda表达式;
public IList<SpecialInformationEntity { var q = DataSession.Objects.Where (c => c.ReceiverName == receiverName && c.ProcessType == 0 && c.Deleted == 0 && c.Archived == 0 && c.IsDraft == 0 && c.ReceiverArchived == 0).OrderByDescending(c => c.ReceiveDate); IList<SpecialInformationEntity if (0 < list.Count) return list; return null; } |
- VS2008的新特性
- vs2008新特性
- vs2008新特性
- vs2008 新特性【转】
- VS2008新特性
- vs2008新特性
- vs2008新特性
- vs2008新特性
- .NET 3.5 & VS2008 新特性
- VS2008和.NET3.5Beta2新特性
- vs2008新特性教程-linq操作xml
- VS2008 SP1新特性之资源管理器
- C#: VS2008的新特性(一)
- linq to sql 学习(1)vs2008 新特性
- Visual Studio 2008开发新特性系列课程(3):VS2008新特性之LINQ入门
- Visual Studio 2008开发新特性系列课程(4):VS2008新特性之LINQ实战
- Visual Studio 2008开发新特性系列课程(6):VS2008新特性之AJAX介绍
- Visual Studio 2008开发新特性系列课程(3):VS2008新特性之LINQ入门
- SharpDevelop插件图
- 得珍藏的50句话
- 最近心境。。。
- Pomer-J2EE框架
- 插件系统的文档(译文)
- VS2008新特性
- 隔行换色+鼠标经过变色(ie6,ie7,ff)
- 关于备份由 Mapinfo EasyLoader 上传到数据库的空间数据的问题
- ATM机常见故障汇总
- windows 映射模式总结1
- 让你空间支持域名绑定子目录
- 11111111
- Struts-config 常用配置
- SD--RV_accounting_document_create函数的代码解读