C#实现类似jQuery的方法连缀功能
作者:JackWang-CUMT 发布时间:2022-04-04 04:30:50
标签:C#,jquery,连缀
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("2")
.setName("jack")
.setAge(26)
.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("验证此测试方法的正确性。");
}
通过以上操作可以看出,方法连缀功能的确使代码变得直观和简洁,增加可阅读性,大家不妨试一试。


猜你喜欢
- 在android中,LayoutInflater有点类似于Activity的findViewById(id),不同的是LayoutInfla
- java类的方法,我特别喜欢《java编程思想》里面的描述,这本书说java类之间的相互通信是通过消息。比如顾客类的对象调用一个eat方法,
- 背景在做社交类平台开发的小伙伴都躲不开选择社交个性标签的业务需求,那么实现这个UI效果我想大伙第一时间想到的必定是RecycleView或G
- 1. strlen(),计算字符串长度 int strlen(const char string) {
- 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。常见的对称加密方法DES :
- 本文实例为大家分享了C#实现简单的计算器小功能的具体代码,供大家参考,具体内容如下先来张效果图吧(5分钟写好,莫怪)代码:数字按钮绑定的是b
- 方法一:res/values文件夹下建立styles.xml:<?xml version=“1.0″ encoding=“utf-8″
- 由于今天用Security进行权限管理的时候出现了一些Bug,特此发这篇博客来补习一下对SpringSecurity的理解前言引入当今市面上
- 前言Spring官方最近宣布,将在Spring Framework 5.0版本中正式支持Kotlin语言。这意味着Spring Boot 2
- 需求在配置类中,从application.properties中读取一个复杂list。如List<Person>或者初始化一个m
- merge结合include优化android布局,效果不知道,个人感觉使用上也有很大的局限,不过还是了解一下,记录下来。布局文件都要有根节
- C#实现IDispose接口.net的GC机制有两个问题:首先GC并不能释放所有资源,它更不能释放非托管资源。其次,GC也不是实时的,所有G
- 一、定义登录控制器目录结构代码:1、创建TUser类package com.demo.pojo;import lombok.AllArgsC
- 前段时间spring boot 2.0发布了,与之对应的spring cloud Finchley版本也随之而来了,两者之间的关系和版本对应
- 模板方法模式模板方法模式法(Template Method)定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算
- 样式效果 还是先来看效果: 这是一个仿雷达扫描的效果,是之前在做地图sdk接入时就想实现的效果,但之前由于赶着毕业设
- 1.kotlin的字符串操作和Java有些不同,有些新增。1)先看字符串比较java中==比较的是变量的引用是否指向同一个地址,Kotlin
- Java流程控制用户交互Scannerjava.util.Scanner是Java5的新特征,可以通过Scanner类来获取用户的输入基本语
- 本文为大家分享了CountDownTimer模拟短信验证倒计时的具体代码,供大家参考,具体内容如下内容:介绍倒计时CountDownTime
- 1.获取屏幕宽高方法1:int screenWidth = getWindowManager().getDefaultDisplay().g