很多javascript新手都觉得javascript的类、委托、事件很神秘,当你看下面几段代码后,你会觉得它也不过如此,和其他的面向对象的语言没什么差别。
javascript中的类:
看起来很简单吧。
下面我们把Pererson类的show方法加一个参数,让它具有委托的功能。
javascript中的事件
委托和事件都看起来很简单吧。
javascript的动态类,它的格式是与JSON一样的。
上面的几段代码是不是看起来很简单呀,希望这编文章对你有一定的帮助。。。
今天在Terry Lee的博客中看到《Silverlight 3 -瞥》,之后找到Scott的原文《Update on Silverlight 2 - and a glimpse of Silverlight 3》,发现在Scott的文章里提到了K2的Blackpoint。
Silverlight已经发布了一段时间,但很少听说有企业用Silverlight来做产品或者做企业级开发,K2在很早前已经着手Silverlight版的设计工具"Blackpoint"(如果没记错的话,应该在Silverlight 2 Beta 1刚来出来的时候就开始开发Silverlight版的流程设计工具),现在blackpoint 已经是beta 2了,应该在不久的将来会发布正式版,期待中。。。
K2 Blackpoint与MOSS完美结合,它真正能做到No Code的流程开发。它和K2[blackpearl]差别很大。
了解K2的同学都知道K2[blackpearl]是一个很强大的流程平台,其中的"K2 Designer for Visual Studio"是个很强大的流程设计工具,但使用它来设计流程,流程设计者需要具备有编码能力。
而blackpoint并不需要编码,只要流程设计人员懂业务,就能完成企业流程的设计,的确很方便。看起来也非常好看。

本人前段时间在ASUS的项目中也写了一个Silverlight的控件,此控件为了完善K2本身的Viewflow而写的,这个控件的原型是我的老大David Dong(台湾的MVP)写的,当时他是基于Silverlight 1来写的,我后来把它完善,此控件在很方便的查看流程的当前节点的审批人员的相关信息,比K2本身自带的Viewflow多了这个功能(这可是很多企业都需要的哦,特别是在中国的企业)。现在Show出来给大家看看吧,样子不是很好看(这是我们的Beta 1,呵呵 。。。有待改善)。

1.能拖拽 2.能放大缩小
现在在华在地区已经有很几家企业打算使用这个控件了,(自我感觉良好,呵呵。。)我现在已经着手把它改成Silverlight 2,但由于 Silverlight 1 和 2差别很大,还有些难点要克服。
今天到公司后打开VS2005出现了如下图的状况,真是不可思意,今天是愚人节,难道是有人和我开玩笑?重启了几次还是这样子,第一次看到VS2005的Bug.

这段是时间学习LINQ的同时学习了C#3.0的一些新特性,发学它和JavaScript很像
一、C#新特性的 自动属性 & JavaScript JSON
C#代码:
public class Person
{
public Person() { }
public string Name { get; set; }
public int Age { get; set; }
}
//创建一个Person对象
Person person = new Person { Name="Southsea", Age=22 };JS代码:
var person = {name:"Southsea",age:22};
//下面可以通过person来调用它的name属性和age属性
alert(person.name+" "+person.age);
相似这处:在创建一个对象的时候可以直接给属性赋值
C#是用 " = " 而 JS 是 " : "
二、C# 扩展方法 & JS 中的 prototype
C#代码:
//定义扩展方法
public static String ToMyString(this DateTime dt)
{
return dt.Year + "-" + dt.Month + "-" + dt.Day;
}
//扩展方法的调用
DateTime today = DateTime.Now;
today.ToMyString();JS代码:
Date.prototype.toMyString = function(){
return this.getFullYear()+ "-" + (this.getMonth()+1) + "-" + this.getDate();
}
var today = new Date();
alert(today.toMyString());这个例子可以说没有任何义意,只是说明它们很像而已。
它们应该不只这两个地方很像,在以后的学习和使用中,再去慢慢发现它吧
public bool isEmailAddress(string email)
{
Regex regex = new Regex(
@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$"); return regex.IsMatch(email);
}
bool isEmail = isEmailAddress("abc@abc.com");
// 下面代码为string添加IsValidEmailAddress()方法
public static class ScottGuExtensions //强调必须是static类
{
public static bool IsValidEmailAddress(
this string s) //参数写法 this 类 类对象
{
Regex regex = new Regex(
@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$"); return regex.IsMatch(s);
}
}
public static bool IsEven(this int i)
{
return i % 2 == 0;
}