Предположим, мы хотим создать набор сервисов, которые могут или не могут использоваться:
class ServiceCollection {
public MyService MyService = new MyService(arg1,arg2,...);
public MySecondService MySecondService = new MySecondService(arg1,arg2,...);
...
Поскольку мы не знаем, будет ли использоваться экземпляр сервиса или нет - мы хотели создать экземпляр службы на лету:
class ServiceCollection {
private MyService _MyService = null;
public MyService MyService {
get {
if (_MyService==null) _MyService = new MyService(arg1,arg2,...);
return _MyService;
}
}
Это требование в случае, если код пользователя ссылается на службу дважды - следует использовать один и тот же экземпляр службы. Поскольку приведенный выше код ... довольно длинный ... Интересно, правильно ли следующее решение:
class ServiceCollection {
private MyService _MyService = null;
public MyService MyService => _MyService = _MyService ?? new MyService(arg1, ...);
Или существует какое-либо другое (более элегантное и короткое) решение для этой простой проблемы?