Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以在MonoTouch项目中使用被动扩展吗?_C#_.net_Xamarin.ios_System.reactive_Xamarin - Fatal编程技术网

C# 我可以在MonoTouch项目中使用被动扩展吗?

C# 我可以在MonoTouch项目中使用被动扩展吗?,c#,.net,xamarin.ios,system.reactive,xamarin,C#,.net,Xamarin.ios,System.reactive,Xamarin,有一个名为Rx的端口,其中包含一个MonoTouch项目,但作者表示,他放弃了该项目,转而支持Microsoft开源实施: 我很高兴地宣布,我不会再在这个代码库上工作了 现在,Microsoft在Apache许可证中有了开源的反应式扩展。 MonoDevelop挂起尝试在中打开Rx.sln,但那里没有MonoTouch目标 我想知道是否有人已经为Rx推出了一个与MonoTouch兼容的项目,以及它是否真的可以在生产中使用。Microsoft Rx 我自己做了一个项目,将来自的核心、接口、Lin

有一个名为Rx的端口,其中包含一个MonoTouch项目,但作者表示,他放弃了该项目,转而支持Microsoft开源实施:

我很高兴地宣布,我不会再在这个代码库上工作了 现在,Microsoft在Apache许可证中有了开源的反应式扩展。

MonoDevelop挂起尝试在中打开Rx.sln,但那里没有MonoTouch目标

我想知道是否有人已经为Rx推出了一个与MonoTouch兼容的项目,以及它是否真的可以在生产中使用。

Microsoft Rx 我自己做了一个项目,将来自的核心接口Linq平台服务结合起来。
好了:

它适用于引用类型,更不用说值类型(见下文)。
不幸的是,由于bug和错误,它无法编译。它现在编译得很好

单反应 我也用过,对我来说效果很好。虽然微软的实现看起来更简洁可靠,但mono reactive更小,在真正需要时更容易修复

您可以同时尝试这两种方法,看看什么最适合您。
快乐观察

缓解交通事故 对于这两种框架,我经常遇到AOT导致的崩溃 对设备的限制。Xamarin的Rolf告诉我你可以 通常通过不使用值类型来解决大多数AOT限制 Rx泛型类型参数

例如,
IObservable
扩展可能会在设备上崩溃,
IObservable
也会崩溃,但是引用类型在大多数方法中应该可以正常工作

在中,我添加了
IntervalSafe
方法,该方法返回
Unit
(我将其更改为引用类型,而不是结构),而不是
long
,因此不会在整个代码库中造成数十次崩溃

一些Rx方法仍然会崩溃,但修复这些崩溃相当容易

请参见Costo或参考。

我将很高兴地合并处理其他Rx方法及其重载的pull请求。

您可以尝试下载源代码并创建一个包含所有Rx文件链接的MonoTouch库项目。(这可能是目前唯一的方法)你可能想看看这篇文章,它仍然是微软发布的真实的w.r.t.反应式扩展(2.2.5)?@SargeBorsch可能不是,但值得检查。MonoTouch在AWT AOT通用支持方面已经有了一些改进,但最好你自己看看,因为我已经好几年没有使用它了。好的,谢谢。我们可能很快就会尝试…顺便说一句,我甚至可以将Rx主包添加到PCL项目中。