【问题标题】:Using TPL and Rx in Silverlight 4在 Silverlight 4 中使用 TPL 和 Rx
【发布时间】:2011-08-19 13:07:08
【问题描述】:
我想在我的 Silverlight 项目中使用 AsyncCtpLibrary_Silverlight.dll,并且我还想使用 Rx(用于在 de UI 中处理事件流)。
问题是 AsyncCtpLibrary_Silverlight.dll 和 System.CoreEx.dll(来自 Rx)都定义了 System.AggregateException,这会导致冲突。
知道如何解决吗?
【问题讨论】:
标签:
silverlight
system.reactive
task-parallel-library
【解决方案1】:
查看extern alias 的文档。它允许您在代码中显式引用类,即使它们在同一个命名空间中并且具有相同的名称。
例如,您可以像这样引用 Rx 类:
extern alias rx;
//... further down
rx::System.AggregateException aeRx = null;
System.AggregateException aeAsync = null;
“rx”别名也必须添加到 Visual Studio 中 DLL 引用的属性页。
【解决方案2】:
如果您不必自己声明类型,应该没有问题。如果可以使用类型推断,编译器可以从适当的程序集中生成类型的局部变量。