2016-08-24 5 views
3

I UWPアプリケーションでWindowsランタイムコンポーネントを使用して、バックグラウンドタスク用のサーバーとデータを同期するバックグラウンドタスクを作成します。UWPのWindowsランタイムコンポーネントでメソッドからクラスにアクセスできません

しかし、UWPのWindowsランタイムコンポーネントで、自分のプロジェクトのメソッドやクラスにアクセスできません。

Windowsランタイムコンポーネントなしでバックグラウンドタスクを作成する方法はありますか?どのようにしてこれらのクラスにアクセスすることができますか。

+0

他のプロジェクト参照をバックグラウンドタスクに追加しましたか? –

+2

私は既にプロジェクトのウィンドウズランタイムコンポーネントのリファレンスを追加して、ウィンドウズランタイムコンポーネントで私のバックグラウンドタスクを書きました。また、プロジェクトの参照を時間コンポーネントを実行するウィンドウに追加しようとしましたが、参照としてプロジェクトを追加すると、循環依存が発生します。 –

答えて

3

クラスライブラリを作成し、WinMDおよびプロジェクトクラスからそのクラスライブラリへの参照を追加できます。あなたはこのイベントに

BridgeClass.MessageReceived += ShowMessage; 

を購読し、実現することができ、プロジェクトのクラス内

public class BridgeClass 
{ 
    public static event Action<string> MessageReceived; 

    public static void Broadcast(string message) 
    { 
     if (MessageReceived != null) MessageReceived(message); 
    } 
} 

:WinMDクラスの呼び出しから今

void ShowMessage(string msg) 
{ 
} 

をクラスライブラリの コードのようなものかもしれませんそれ:

BridgeClass.Broadcast("some value"); 
関連する問題