在同一解决方案中的项目之间的双向通信

时间:2016-02-23 10:05:48

标签: c# visual-studio windows-runtime win-universal-app

我是Windows编程的新手,我需要在一个解决方案中进行2个项目(UWP和WinRT)之间的通信。我正在将WinRT的引用添加到我的UWP中,现在我可以在UWP中调用WinRT中的方法,但我需要在WinRT中从UWP调用,反之亦然,但如果我尝试添加引用,则Visual Studio会显示错误对话框:Adding this project as reference would cause a circular dependecy这是一个安静的逻辑。那么有可能使我的双向通信成为可能吗?

编辑

我正在尝试提出解决方案:

  • 我创建了一个包含一个C#类的SharedProject,如:

    namespace SharedProject { public interface Iuwp { void myMethodInWinRT(); } public interface Iwinrt { void myMethodInUWP(); } }

  • 我在两个项目中添加了SharedProject引用:WinRT和UWP;

  • 我在WinRT项目中实现了myMethodInWinRT(),在UWP项目中实现了myMethodInUWP();

  • 正如我所提到的here我想从UWP项目致电myMethodInWinRT(),从WinRT项目致电myMethodInUWP(),但我是陷入困境,我应该如何使用该接口调用其中的方法?

1 个答案:

答案 0 :(得分:0)

您无法将Windows应用程序项目引用到另一个项目,相反,我建议创建一个EndDate项目或WinRT Component项目并将您的代码和接口共享为@Sriram,因此你可以调用函数,用你的两个项目启动它。

<强>更新

确保您的课程是公开的,您的空位也是公开的, 然后从您的UWP / WinRT应用程序添加一个引用到您的共享项目,然后您可以调用它,不要忘记创建您的类的实例,即。(

shared PCL