Является ли DependencyService заменой для пользовательского рендерера? - PullRequest
0 голосов
/ 26 февраля 2019

Я немного растерялся из-за DependencyService по сравнению с CustomRenderer.

Можем ли мы использовать DependencyService вместо CustomRenderer.Где мы можем использовать DependencyService?

1 Ответ

0 голосов
/ 26 февраля 2019

TL / DR: Нет, у них разные варианты использования, хотя они оба предоставляют методы доступа к функциям вашей целевой системы.

Концепция средств визуализации cutom напрямую связан с элементами интерфейса пользователя.В основном для каждого вида элементов управления Xamarin.Forms существует специальный модуль визуализации, который делегирует рендеринг элементов управления системной структуре пользовательского интерфейса.Обычно он отображает элемент управления Xamarin.Forms на собственный элемент пользовательского интерфейса.

A зависимость (разрешается с помощью службы зависимостей ) является более общей концепцией, специфичной для платформыфункции (на самом деле это не ограничивается реализацией для конкретной платформы).Вы определяете интерфейс, абстрагирующий функциональность, для которого вы будете предоставлять реализации для конкретной платформы.Классы, специфичные для платформы, которые реализуют этот интерфейс и подвергаются DependencyService через DependencyAttribute, могут быть разрешены во время выполнения с помощью DependencyService.Get<T>() (где T должен быть вашим типом интерфейса).Объекты, извлеченные из Get, можно использовать, не зная, какой класс точно реализует интерфейс.Это своего рода базовая инъекция зависимостей (ну, не совсем, но вроде), и она может использоваться для любой функциональности, которая требует реализации для конкретной платформы, а не только для проблем пользовательского интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...