C#实现jQuery的方法连缀

  jQuery的方法连缀使用起来非常方便,可以简化语句,让代码变得清晰简洁。那C#的类方法能不能也实现类似的功能呢?基于这样的疑惑,研究了一下jQuery的源代码,发现就是需要方法连缀的函数方法最后返回对象本身即可。既然javascript可以,C#应该也是可以的。

  为了验证,编写一个jQPerson类,然后用方法连缀对其ID,Name,Age等属性进行设置,请看下面的代码:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6
 7 namespace CSharpMethodLikeJQuery
 8 {
 9     public class jQPerson
10     {
11         string Id { set; get; }
12         string Name { set; get; }
13         int Age { set; get; }
14         string Sex { set; get; }
15         string Info { set; get; }
16
17         public jQPerson()
18         {
19
20         }
21         /// <summary>
22         /// 设置ID,返回this,即jQPerson实例
23         /// </summary>
24         /// <param name="Id"></param>
25         /// <returns></returns>
26         public jQPerson setId(string Id)
27         {
28             this.Id = Id;
29             return this;
30         }
31         /// <summary>
32         /// 返回this,即jQPerson实例
33         /// </summary>
34         /// <param name="name"></param>
35         /// <returns></returns>
36         public jQPerson setName(string name)
37         {
38
39             this.Name = name;
40             return this;
41         }
42         /// <summary>
43         /// 返回this,即jQPerson实例
44         /// </summary>
45         /// <param name="age"></param>
46         /// <returns></returns>
47         public jQPerson setAge(int age)
48         {
49
50             this.Age = age;
51             return this;
52         }
53         /// <summary>
54         /// 返回this,即jQPerson实例
55         /// </summary>
56         /// <param name="sex"></param>
57         /// <returns></returns>
58         public jQPerson setSex(string sex)
59         {
60
61             this.Sex = sex;
62             return this;
63         }
64         /// <summary>
65         /// 返回this,即jQPerson实例
66         /// </summary>
67         /// <param name="info"></param>
68         /// <returns></returns>
69         public jQPerson setInfo(string info)
70         {
71
72             this.Info = info;
73             return this;
74         }
75         /// <summary>
76         /// tostring输出键值对信息
77         /// </summary>
78         /// <returns></returns>
79         public string toString()
80         {
81
82             return string.Format("Id:{0},Name:{1},Age:{2},Sex:{3},Info:{4}", this.Id, this.Name, this.Age, this.Sex, this.Info);
83
84
85         }
86
87     }
88 }

  然后可以对上面进行测试,看方法连缀是否生效:

 1         /// <summary>
 2         ///toString 的测试
 3         ///</summary>
 4         [TestMethod()]
 5         public void toStringTest()
 6         {
 7             jQPerson target = new jQPerson();
 8             target.setId("2")
 9                   .setName("jack")
10                   .setAge(26)
11                   .setSex("man")
12                   .setInfo("ok");
13             string expected = "Id:2,Name:jack,Age:26,Sex:man,Info:ok";
14             string actual;
15             actual = target.toString();
16             Assert.AreEqual(expected, actual);
17             //Assert.Inconclusive("验证此测试方法的正确性。");
18         }

  可以看到,方法连缀确实可以让代码变得直观和简洁,增加可阅读性。

时间: 2024-10-05 23:52:23

C#实现jQuery的方法连缀的相关文章

JavaScript之jQuery-9 jQuery 开发插件(添加新全局函数、添加jQuery对象方法、添加新简写方法、方法参数)

一.添加新的全局函数 全局函数 - 全局函数,实际上就是jQuery对象的方法,从实践角度看,它们是位于jQuery命名空间内部的函数 - jQuery内置的某些功能是通过全局函数实现的 - $.ajax()函数就是典型的全局函数 - 向jQuery命名空间添加一个函数,只需要将这个新函数指定为jQuery的一个属性值   - 如果要使用该全局函数时,可通过一下代码调用 - 也可以通过别名来调用 添加多个函数 - 如果我们想在插件中提供多个全局函数,可以独立的声明这些函数   - 还可以使用$.

jquery ajax 方法及各参数详解

jquery ajax 方法及各参数详解 1.$.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息. 参数列表: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET".注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分

jQuery on()方法绑定动态元素的点击事件无响应的解决办法

$('#check_all').on('click' , function(){ alert(1); }); $("#yujinlist").append(html); count++; } 以上代码执行时,点击#check_all时,alert一直没反应,后在网上查资料时,才知道on前面的元素也必须在页面加载的时候就存在于dom里面, 那原话是这样的: 支持给动态元素和属性绑定事件的是live和on,其中live在JQUERY 1.7之后就不推荐使用了.现在主要用on,使用on的时候

jQuery on()方法

jQuery on()方法是官方推荐的绑定事件的一个方法. $(selector).on(event,childSelector,data,function,map) 由此扩展开来的几个以前常见的方法有. bind() $("p").bind("click",function(){ alert("The paragraph was clicked."); }); $("p").on("click",func

优化加载jQuery的方法

请看下面的一段代码: 1 <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> 2 <script type="text/javascript"> 3 window.jQuery || document.write("<script src='__ADMIN_JS__/jquery-2.0.3.

jQuery AJAX 方法

jQuery AJAX 方法 AJAX 是一种与服务器交换数据的技术,可以在补充在整个页面的情况下更新网页的一部分. 下面的表格列出了所有的 jQuery AJAX 方法: 方法 描述 $.ajax() 执行异步 AJAX 请求 $.ajaxPrefilter() 在每个请求发送之前且被 $.ajax() 处理之前,处理自定义 Ajax 选项或修改已存在选项 $.ajaxSetup() 为将来的 AJAX 请求设置默认值 $.ajaxTransport() 创建处理 Ajax 数据实际传送的对象

使用jquery的方法和技巧

1.下载一个jquery.js的文件 2.引入jquery.js文件 1 <script type="text/javascript" src="__PUBLIC__/js/jquery-1.7.2.min.js"></script> 2 <script type="text/javascript"> 3 $(function(){ 4 5 //这里面使用jquery的方法 6 7 8 }); 9 </s

jQuery.access()方法

最开始只是想了解attr方法,发现它内部调用了jQuery.access()方法.除了attr,还有prop.text.html.css.data 都是内部调用了jQuery.access()方法,可见它的重要. attr: function( name, value ) { return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 ); } prop: function( name, value ) {

jQuery offsetParent()方法

offsetParent()方法的定义和用法:此方法可以返回匹配元素所有祖先元素中第一个采用定位的祖先元素.所谓采用定位的父元素就是施加position:relative或者position:absolute(fixed)的元素.此方法仅对可见元素有效.语法结构: $(selector).offsetParent() 代码实例: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> &