Splat: Locator.Current vs Locator.CurrentMutable - PullRequest
       68

Splat: Locator.Current vs Locator.CurrentMutable

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

Итак, Splat предоставляет два способа получения службы:

var s1 = Locator.Current.GetService<IMyService>();
var s2 = Locator.CurrentMutable.GetService<IMyService>();

Документация неясно, каким образом нам следует использовать.

Так в чем же разницамежду этими двумя?Какой из них мы должны использовать?Чего нам следует избегать?

1 Ответ

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

Locator.Current является версией ReadOnly, должна использоваться, если вы не регистрируете сервисы. Locator.CurrentMutable - версия для чтения / записи, должна использоваться только при регистрации служб.

Они оба указывают на одни и те же локаторы, только в зависимости от вариантов использования, которые вы используете.

В основном:

  • использовать CurrentMutable для регистрации сервисов,
  • использовать Current всякий раз, когда вам нужно их получить.
...