这个周六去了微软Office参加讲座,说真的,没有上去中信,一开始坐错了电梯。
会上讲了VS2008的新语言特性,还有,SQL2008,SilverLight的应用,Windows2008,还有微软的S+S理念。
印象比较深刻的是VS2008的新语言特性。注意,这里讲的不是.net Framework3.5的新语言特性。我试总结一下:
- 工具上的更新。
多定向(即支持多种Framework 版本更换),丰富的HTML/CSS支持,JS支持,WPF设计器和项目支持等。 - 扩展方法
以前不能给类型增加方法,现在可以了。会上以整形(int)为例子。
在一个CS文件中,新创建一个静态类,静态类里面加静态方法。
1static class MyClass可以看出第三行,语法很不一样。这样,你在CS中,就可以使用
2{
3 public static bool IsOne(this int i)
4 {
5 if( i == 1)
6 {
7 return true;
8 }
9
10 return false;
11 }
12}
i.IsOne(); - 自动属性
不用去定义一个私有变量,直接
public string Name { get; set; }
这个功能,估计讲解的人自己暂时还没有搞得很清楚,所以讲得也比较模糊。这样就可以直接用这个变量了。 - 对象初始化器,集合初始化器
这可不是编译器直接的东西,是使用了VS2008才编译得通的。
1Book b1 = new Book(Name="Book1", Price=13.5);明白了吧?
2List<Book> bs1 = new List<Book>
3{
4 new Book(Name="Book1", Price=13.5),
5 new Book(Name="Book2", Price=13.5),
6 new Book(Name="Book3", Price=13.5),
7 new Book(Name="Book4", Price=13.5)
8}; - 隐式本地变量,匿名变量
也是非常Cool的功能。但这个功能不代表新的C#不是强类型语言。
1var v1 = 1; // 整数
2var Name = "LiMing"; // 字符串 - Lambda表达式
大家可以参与一下《Lisp之美》这篇文章。
1var bs2 = bs1.Where( b=>b.Price>=2);
2foreach( Book b in bs2 )
3{
4 MessageBox.Show( b.Name +":" +b.Price.ToString());
5} - Linq
这是最大的变化了,估计也是最Cool的变化。Linq也算是一个ORM工具,类似的有Hibernate,Linq可以实现同样的功能。(当然,实现起来不怎么一样,功能强度更是不一样)。共有的功能有DB->OOP。
1var bs3 = from b in bs1 where b.Price>2 select b;这个功能会带来一些数据版本控制问题。
顺手提下Windows2008的IIS7,Modules功能加强了,可以把类编译后放在网站的Bin下面,然后在IIS7中配置Modules。Modules可以在请求进入后,进行一系列验证。最后才到页面去。
当前IIS6的顺序:
IIS7顺序:
是不是简化了许多?
至于IIS的配置页面,拍了照,这次就先不传上来了。下次有空再说说了。
补充一句,好像演示者用自己的机器用的默认浏览器是Firefox。