2016-08-24 2 views
3

I UWP App의 Windows 런타임 구성 요소를 사용하여 백그라운드 작업용 서버와 데이터를 동기화하기위한 백그라운드 작업을 만듭니다.UWP의 Windows 런타임 구성 요소에서 내 프로젝트의 메서드 및 클래스에 액세스 할 수 없습니다.

그러나 UWP의 Windows 런타임 구성 요소에서 내 프로젝트의 메서드와 클래스에 액세스 할 수 없습니다.

Windows 런타임 구성 요소없이 백그라운드 작업을 만드는 다른 방법이 있습니까? 또는 어떻게 이러한 클래스에 액세스 할 수 있습니까?

+0

다른 프로젝트 참조를 백그라운드 작업에 추가 했습니까? –

+2

나는 이미 Windows 프로젝트의 런타임 구성 요소에 대한 참조를 추가하고 Windows 런타임 구성 요소에서 백그라운드 작업을 작성했습니다. 또한 프로젝트 참조를 Windows 런타임 구성 요소를 실행하지만 참조를 순환 종속성의 원인으로 추가 프로젝트에 추가하려고했습니다. –

답변

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"); 
관련 문제