Речь идет не об экономии нажатий клавиш; это о принципе «наименьших привилегий» .
Это:
private readonly var _cars = new ObservableCollection<Inventory>();
И это:
private readonly ObservableCollection<Inventory> _cars = new ObservableCollection<Inventory>();
Сделайте заявление явно что _cars
наблюдаемо. Код, который вы напишете позже, может закончиться в зависимости от этого, даже если это не был ваш оригинальный дизайн. В общем, вы хотите использовать самый простой интерфейс, который выполняет эту работу, поэтому, если есть какая-то часть вашего кода, которой не нужно знать, что что-то наблюдается, рекомендуется статически вводить ваши переменные, чтобы они использовали ненаблюдаемый интерфейс.
Когда вы пишете:
private readonly IList<Inventory> _cars = new ObservableCollection<Inventory>();
, вы даете понять, что не хотите писать код, зависящий от наблюдаемости _cars
, и компилятор выдаст ошибку и кричать на вас, если вы это сделаете, и это хорошо.