C#实现jQuery的方法连缀
2024-10-17 07:13:20
jQuery的方法连缀使用起来非常方便,可以简化语句,让代码变得清晰简洁。那C#的类方法能不能也实现类似的功能呢?基于这样的疑惑,研究了一下jQuery的源代码,发现就是需要方法连缀的函数方法最后返回对象本身即可。既然javascript可以,C#应该也是可以的。
为了验证,编写一个jQPerson类,然后用方法连缀对其ID,Name,Age等属性进行设置,请看下面的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace CSharpMethodLikeJQuery
{
public class jQPerson
{
string Id { set; get; }
string Name { set; get; }
int Age { set; get; }
string Sex { set; get; }
string Info { set; get; } public jQPerson()
{ }
/// <summary>
/// 设置ID,返回this,即jQPerson实例
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public jQPerson setId(string Id)
{
this.Id = Id;
return this;
}
/// <summary>
/// 返回this,即jQPerson实例
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public jQPerson setName(string name)
{ this.Name = name;
return this;
}
/// <summary>
/// 返回this,即jQPerson实例
/// </summary>
/// <param name="age"></param>
/// <returns></returns>
public jQPerson setAge(int age)
{ this.Age = age;
return this;
}
/// <summary>
/// 返回this,即jQPerson实例
/// </summary>
/// <param name="sex"></param>
/// <returns></returns>
public jQPerson setSex(string sex)
{ this.Sex = sex;
return this;
}
/// <summary>
/// 返回this,即jQPerson实例
/// </summary>
/// <param name="info"></param>
/// <returns></returns>
public jQPerson setInfo(string info)
{ this.Info = info;
return this;
}
/// <summary>
/// tostring输出键值对信息
/// </summary>
/// <returns></returns>
public string toString()
{ return string.Format("Id:{0},Name:{1},Age:{2},Sex:{3},Info:{4}", this.Id, this.Name, this.Age, this.Sex, this.Info); } }
}
然后可以对上面进行测试,看方法连缀是否生效:
/// <summary>
///toString 的测试
///</summary>
[TestMethod()]
public void toStringTest()
{
jQPerson target = new jQPerson();
target.setId("")
.setName("jack")
.setAge()
.setSex("man")
.setInfo("ok");
string expected = "Id:2,Name:jack,Age:26,Sex:man,Info:ok";
string actual;
actual = target.toString();
Assert.AreEqual(expected, actual);
//Assert.Inconclusive("验证此测试方法的正确性。");
}
可以看到,方法连缀确实可以让代码变得直观和简洁,增加可阅读性。
最新文章
- HTML5学习总结-01 开发环境和历史
- Swift定义单例
- P235 实战练习(集合类2)、摇奖程序和验证码(修改版)
- awk 统计数据在文件中的出现次数
- 微信公众平台开发 ACCESS TOKEN
- 编写你的第一个 Django 程序 第2部分
- IE8+等兼容、360调用webkit内核小记
- SRM 609(1-250pt, 1-500pt)
- iframe 元素
- SQL Server 触发器的修改与删除
- jquery之效果操作
- SpringCloud的应用发布(四)vmvare+linux,防火墙和selinux
- 常用SQL Server命令(持续) | Commonly used SQL Server command list (Cont&#39;)
- Activiti流程变量五步曲 ——by fightingKing
- Luogu 2173 [ZJOI2012]网络 - LCT
- 【Python3】端口占用监测的程序
- HBase 架构与工作原理2 - HBase 组件
- MYSQL用户操作管理大杂烩
- python 视频配音、剪辑
- 网络数据包分析 网卡Offload