posts - 17,  comments - 259,  trackbacks - 9
  2008年11月18日

很多javascript新手都觉得javascript的类、委托、事件很神秘,当你看下面几段代码后,你会觉得它也不过如此,和其他的面向对象的语言没什么差别。

 javascript中的类:

javascript中的类

 

看起来很简单吧。

下面我们把Pererson类的show方法加一个参数,让它具有委托的功能。

 

委托

 

javascript中的事件

事件

 

委托和事件都看起来很简单吧。

javascript的动态类,它的格式是与JSON一样的。

 

动态类

 

上面的几段代码是不是看起来很简单呀,希望这编文章对你有一定的帮助。。。

posted @ 2008-11-18 12:59 SouthSea 阅读(504) 评论(5) 编辑

          今天在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差别很大,还有些难点要克服。

posted @ 2008-11-18 11:09 SouthSea 阅读(3005) 评论(11) 编辑
  2008年4月1日

今天到公司后打开VS2005出现了如下图的状况,真是不可思意,今天是愚人节,难道是有人和我开玩笑?重启了几次还是这样子,第一次看到VS2005的Bug.

posted @ 2008-04-01 13:21 SouthSea 阅读(2735) 评论(36) 编辑
  2007年11月27日
摘要: 《天气与生活》的保存城市问题,已经做了修正,大家下载看看下载链接今天(2008.1.18)又出现了不能显示温度的问题,现在已经解决不好意思,18号上传错文件了,现在上传上去的已经经过测试了,应该没问题了。谢谢大家一直以来的关注阅读全文
posted @ 2007-11-27 11:21 SouthSea 阅读(972) 评论(8) 编辑
  2007年11月23日

这段是时间学习LINQ的同时学习了C#3.0的一些新特性,发学它和JavaScript很像

一、C#新特性的 自动属性 & JavaScript JSON
C#代码:

public class Person
{
    
public Person() { }
    
public string Name getset; }
    
public int Age getset; }
}


//创建一个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());

这个例子可以说没有任何义意,只是说明它们很像而已。

它们应该不只这两个地方很像,在以后的学习和使用中,再去慢慢发现它吧

posted @ 2007-11-23 22:03 SouthSea 阅读(287) 评论(0) 编辑
摘要: 前面我已经写了3编LINQ的文章,所谓的3编,真正来说只是一编而已,第2、第3都是写C#的新特性了,有些朋友觉得上我的当了,呵呵,在此向大家道个谦。LINQ学习之旅(1)LINQ学习之旅(2)C#新特性扩展方法LINQ学习之旅(3)C#新特性自动属性现在继续学习LINQ。LINQ与数据库/**///////这是LINQ的与数据库部分的,很像强类型DataSet/**/////NorthwindDa...阅读全文
posted @ 2007-11-23 20:59 SouthSea 阅读(1854) 评论(8) 编辑
  2007年11月7日
    LinQ学习之旅(1) LinQ学习之旅(2)

    其实第二次的例子与LinQ一点关系都没有,只是我在学习LinQ的时候看到C#的一些新特性,把写我的学习之旅中。

    这次又学到了一些新特性,可以说与LinQ不相关的,但我也把它写入我的学习之旅。

   扩展方法 (Extension Methods)
    
    我们平时在使用要判断一个字符串是不是邮件地址的,以前的写法:
    
        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);
        }

    }
    使用:只要引用命名空间即可使用扩展方法 
    在任何地方的字符串都出现IsValidEmailAddress方法
    "abc@abc.com".IsValidEmailAddress();
    像我在写LinQ的第一节的时候,判断一个数是不是偶数,可以写成扩展方法如:
    
        public static bool IsEven(this int i)
        
{
            
return i % 2 == 0;
        }
    在这个新特性中,我们可以为.NET已经封装好的一些类添加自己的一些方法。这样更方便我们开发了。
posted @ 2007-11-07 01:34 SouthSea 阅读(1440) 评论(7) 编辑
  2007年11月5日
摘要: 上一节:LinQ学习之旅(1)基础数据类型都可以像 LinQ学习之旅(1) 那样写,对数据的筛选、排序C#语言的新特性自动属性:在以前的我们写一个类属性一般都要定义一个私有变量,如:publicclassPerson{privateint_id;publicintId{get{return_id;}set{_id=value;}}privatestring_fristName;publicstri...阅读全文
posted @ 2007-11-05 13:31 SouthSea 阅读(1934) 评论(17) 编辑
摘要: 关注.NET的程序员,对LinQ这个名词应该已经听说过了,上个星期和THIN见了一下面,他给我演示了一下LinQ,觉得很有意思,有些东西很像JavaScript。后来在他的博客里也看到他写的一编文章。自己也写了一个小Demo,现在拿出来和大家分享一下,这编都是比较简单的例子,因为我也是才自学那么几天时间,Demo1:从一个整型数组中找出偶数:原始写法:int[]numbers={12,234,15...阅读全文
posted @ 2007-11-05 12:35 SouthSea 阅读(3431) 评论(10) 编辑
  2007年9月26日
摘要: 由于THIN的《天气与生活》显示数据有误, 经THIN的同意,我对《天气与生活》进行修改,现已经修正了一些BUG,现在发布上来和大家共享。下载新文体如还有什么问题,请通知我或THIN,谢谢!@zh0897提供保存城市问题解决方案:关于显示城市的问题.在你装好《天气与生活》后,先进入到http://weather.cn.yahoo.com/ 网站,输入你所在城市名,并设置为默认城市.这样,你的《天气...阅读全文
posted @ 2007-09-26 22:59 SouthSea 阅读(8897) 评论(106) 编辑