2014-01-07 1 views
1

Я заметил, что многие из текущих плагинов, у которых есть возвращаемые значения или несколько результатов, используют действия. Например, PictureChooserTask.TakePicture принимает Action<Stream> для успеха и Действие для отмены.Задачи или действия для плагинов?

Что я хочу знать, почему у меня нет PictureChooserTask.TakePicture return a Task<Stream>? Задачи не поддерживаются кросс-платформой?

Извините, если это вопрос о нобе, но я прихожу из Windows и еще не выполнил ни один из моих проектов mvvmcross на других платформах. Я предпочитаю использовать Tasks, но я хочу убедиться, что я следую правильному шаблону, прежде чем писать свой первый плагин.

Спасибо!

ответ

0

Что я хочу знать, почему у меня нет PictureChooserTask.TakePicture вернуть задачу? Задачи не поддерживаются кросс-платформой?

Оригинальные плагины MvvmCross были сделаны до async была доступна на любой платформе, и в то время, прежде чем BCL.Async портативные пакеты были лицензированы для использования за пределами платформы Microsoft Windows. Из-за этих двух факторов ни Task, ни async не были использованы.

Тем не менее, async теперь доступен на всех платформах, и были прекрасные недавние изменения в лицензировании от Microsoft.

Из-за этого, плагины теперь могут свободно использовать как Task и async

Для примера плагина, используя Task взглянуть на некоторые из плагинов в https://github.com/Cheesebaron/Cheesebaron.MvxPlugins - например, в https://github.com/Cheesebaron/Cheesebaron.MvxPlugins/tree/master/Connectivity/

Обратите внимание, что при создании плагина, который использует Task, «ядро» портативная библиотека, вероятно, должна быть основана на любом PCL профиля 158 или профиль 78. При выборе 158, то плагин нужно будет ссылаться на BCL.Async портативный пакет nuget для использования Task. Если вы выберете 78, то Task будет доступен без дополнительных пакетов - единственная потеря будет заключаться в том, что ваш плагин затем не будет доступен для Silverlight или для любых проектов, которые сами предпочитают использовать профиль 158.

Смежные вопросы