2014-01-07 3 views
1

반환 값 또는 여러 결과가있는 많은 플러그인이 동작을 사용하고 있음을 발견했습니다. 예를 들어, PictureChooserTask.TakePicture는 성공을 위해 Action<Stream>을, 취소를 위해 Action을 취합니다.플러그인 용 작업 또는 작업?

내가 알고 싶은 것은 PictureChooserTask.TakePicture가없는 이유입니다. Task<Stream>을 반환합니까? 작업이 여러 플랫폼에서 지원되지 않습니까?

죄송합니다.이 질문이 멍청한 질문 일 뿐이지 만 저는 Windows에서 왔으며 다른 mvvmcross 프로젝트를 아직 다른 플랫폼으로 가져 가지 않았습니다. 작업을 사용하는 것을 선호하지만 첫 번째 플러그인을 작성하기 전에 올바른 패턴을 따르고 있는지 확인하고 싶습니다.

감사합니다.

답변

0

제가 알고 싶은 것은 PictureChooserTask.TakePicture가 작업을 반환하지 않는 이유는 무엇입니까? 작업이 여러 플랫폼에서 지원되지 않습니까?

원래 MvvmCross 플러그인은 async는 모든 플랫폼에서 사용할 수 전에 만들어진, 그리고 BCL.Async 휴대용 패키지는 Microsoft Windows 플랫폼을 넘어 사용이 허가되기 전에 한 번 있었다. 이 두 가지 요인으로 인해 Task이나 async은 사용되지 않았습니다.

그러나 이제 모든 플랫폼에서 async을 사용할 수 있으며 Microsoft의 라이센스에 대한 몇 가지 훌륭한 최근 변경 사항이 있습니다. 이 때문에

이 플러그인은 이제 https://github.com/Cheesebaron/Cheesebaron.MvxPlugins에서 플러그인의 몇 가지를 살펴 Task를 사용하여 플러그인의 예는 모두 Taskasync

을 자유롭게 사용할 수 있습니다 - 예를 들어, Task를 사용하는 플러그인을 만들 때 https://github.com/Cheesebaron/Cheesebaron.MvxPlugins/tree/master/Connectivity/

주에서 "핵심"휴대용 라이브러리가 아마 158을 선택하는 경우 PCL 프로필 (158) 또는 프로파일 78 중 하나에 근거해야 함을, 다음 플러그인은 BCL.Async를 참조해야합니다 휴대용 너겟 패키지 Task을 사용하십시오. 78을 선택하면 추가 패키지없이 Task을 사용할 수 있습니다. 단, Silverlight 또는 자신이 프로필 158를 사용하기로 선택한 프로젝트로 다시 사용할 수 없게됩니다.