欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

为IObservable实现自己的运算符(详解)

时间:2021-12-13 12:27:30|栏目:.NET代码|点击:

您可以通过为LINQ库不提供的操作添加新运算符,或者通过创建自己的标准查询运算符实现来提高可读性和性能,从而扩展Rx。 编写自定义版本的标准LINQ操作符在您希望使用内存中对象操作时以及当预期自定义不需要查询的全面视图时非常有用。

创建新操作符

LINQ提供了一整套操作符,涵盖了一组实体上的大多数可能的操作。 但是,您可能需要一个运算符为查询添加特定的语义,尤其是如果您可以在代码中多次重复使用该运算符。

许多现有的LINQ运算符实际上是使用其他基本LINQ运算符构建的。 例如,SelectMany运算符是通过组合Select和Merge运算符构建的,如下面的代码所示。

public static IObservable<TResult> SelectMany<TSource, TResult>( this IObservable<TSource> source, Func<TSource, IObservable<TResult>> selector) 
{ 
  return source.Select(selector).Merge(); 
} 
In t

通过在构建新的LINQ运算符时重用现有的LINQ运算符,您可以利用Rx库中实现的现有性能或异常处理功能。

当编写自定义运算符时,最好不要留下任何未使用的一次性用品; 否则,您可能会发现资源实际上可能泄漏,取消可能无法正常工作。

定制现有运算符

向LINQ中添加新的运算符是扩展其功能的一种方法。 但是,您还可以通过将现有运算符包含到更专门和更有意义的运算符中来提高代码可读性。

上一篇:datagrid行内按钮(更新/删除等)操作实现代码

栏    目:.NET代码

下一篇:C# Mqtt 断线重连的实现代码

本文标题:为IObservable实现自己的运算符(详解)

本文地址:http://www.codeinn.net/misctech/186783.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有