如何在添加对Windows运行时组件的引用时避免循环依赖?

时间:2014-06-09 00:52:41

标签: c# visual-studio-2013 background-task

我在我的项目解决方案中添加了一个名为app的windows store Blank App和一个名为backgroundtask的windows RTComponent。所以,我必须添加以在app中添加对backgroundtask的引用。

但我还需要在app的{​​{1}}中使用数据输入。因此,我在Backgroundtask中创建了一个类,并尝试在app中添加对app的引用。

它显示一个表示循环依赖的错误。如何使用Backgroundtaskapp的数据,并同时添加BackgroundtaskBackgroundtask的引用?

1 个答案:

答案 0 :(得分:4)

我不确定为什么Backgroundtask需要引用app,除非

  • 您尝试从其他项目中访问公共静态变量,或
  • 您从app项目传递了一个类的实例,因此Backgroundtask无法访问它

相反,将app中的值作为参数传递给您在Backgroundtask中调用的任何方法,或者,如果要传递大量值,则创建包含需要在两个项目之间共享的类。

  • 创建一个名为Shared的项目,并从其他两个项目中引用它。

  • 添加一个名为AppData的新类(或者将其命名为更合适的类似)。

  • app中实例化该类,用您需要的数据填充它,并将其传递给Backgroundtask中接受该类类型参数的方法。

    < / LI>

这些选项中的任何一个都应该消除对循环依赖的需要。