资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

C#FluentInterface怎么实现

这篇文章主要介绍“C# Fluent Interface怎么实现”,在日常操作中,相信很多人在C# Fluent Interface怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C# Fluent Interface怎么实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站设计、网站建设、静海网络推广、重庆小程序开发公司、静海网络营销、静海企业策划、静海品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供静海建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

C# Fluent Interface代码实现:

public interface IRect  {  void SetWidth(int width);  void SetHeight(int height);  }  public Rect : IRect  {  private int _width;  private int _height;  public void SetWidth(int width) { this._width = width; }  public void SetHeight(int height){ this_height = height; }  }  public static void Main(string [] args)  {  IRect rect = new Rect();  rect.SetHeight(10);  rect.SetWidth(50);  }

没有什么花俏的东西,一个可设长宽的矩形接口并提供一个简单实现。接下来看看用另一种方式

public interface IRectFluent  {  IRectFluent SetWidth(int width);  IRectFluent SetHeight(int height);  }  public RectFluent : IRectFluent  {  private int _width;  private int _height;  public IRectFluent SetWidth(int width) { this._width = width; return this; }  public IRectFluent SetHeight(int height){ this_height = height; return this; }  }  public static void Main(string [] args)  {  IRectFluent rect = new RectFluent();  rect.SetHeight(10).SetWidth(50);  // checkpoint  }

这种“链式"方法调用方式是不是更接近我们人脑的思维方式,更简洁呢。没错, It's Fluent Interface。

个人理解的Fluent Interface 就是 在面向对象编程中,使用某种方式(通常但不限于使用 方法链方式)来实现更具可读性,易用性的编程方式。而方法链的关键之处就是在方法内部调用***要返回调用者本身。

所谓Fluent借助于wikipedia的说法就是‘This style is beneficial due to its ability to provide a more fluid feel to the code."
说到这里,经常使用jquery的朋友肯定感觉很熟悉上面的使用方式。

没错,类似于 $('id').show().css('').fadeOut(); 这种就是一种Fluent Interface实现。

到此,关于“C# Fluent Interface怎么实现”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


文章题目:C#FluentInterface怎么实现
标题路径:http://cdkjz.cn/article/pdehgg.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220