Size: a a a

2021 April 24

DP

Denis Petukhov in pro.net
Ну поищи по методам
источник

DP

Denis Petukhov in pro.net
Там точно был такой который возвращает нулл если не зарегано
источник

G

Gtoressan in pro.net
Вот такой костыль есть, но он мне не нравится.

if (!services.Any(x => x.ServiceType == typeof(IClass1)))
{
   // Service doesn't exist, do something
}
источник

DP

Denis Petukhov in pro.net
Ну можно так, можно при презолве поискать
источник

DP

Denis Petukhov in pro.net
А тебе чтобы что надо проверять зарегано или нет?
источник

IC

Ilya Chernoudov in pro.net
Там есть tryadd
источник

IC

Ilya Chernoudov in pro.net
Может подойдёт
источник

G

Gtoressan in pro.net
Если интерфейс не зарегистрирован, то нужно выбросить ошибку, что нужно зарегистрировать, чтобы мой слой мог работать. Типа он [мой слой] сам не регистрирует, а ждёт, чтобы зарегистрировали за него
источник

DP

Denis Petukhov in pro.net
Дак там и так бросится ошибка если нет реализации но есть использвоание
источник

IC

Ilya Chernoudov in pro.net
Он хочет во время конфигурации
источник

G

Gtoressan in pro.net
Но будет же непонятно в чём вообще дело. Будет выглядеть как будто мой слой поломан. Разработчик же не знает, что я жду, что он сам зарегистрирует нужный слою интерфейс
источник

IC

Ilya Chernoudov in pro.net
А не во время выполнения
источник

DP

Denis Petukhov in pro.net
Ну можно проверить в Configure
источник

IC

Ilya Chernoudov in pro.net
А там разве нет contains?🤔
источник

G

Gtoressan in pro.net
Есть. Но он требует полноценный дискриптор. То есть интерфейс и реализацию. А реализации у меня нет
источник

DP

Denis Petukhov in pro.net
Есть
источник

G

Gtoressan in pro.net
Как
источник

DP

Denis Petukhov in pro.net
IServiceProvider.GetService
источник

DP

Denis Petukhov in pro.net
Или GetRequiredService
источник

DP

Denis Petukhov in pro.net
Ну если разработчик не знает то странно ожидать от него нужной регистрации
источник