Size: a a a

2019 November 29

GK

Gennady Kurbesov in CODE BLOG / C#
Sergey Benzenko
так в ограничении после всех интерфейсов добавьте class
не катит
источник

V

Vladimir in CODE BLOG / C#
Ну класс первым напиши
источник

V

Vladimir in CODE BLOG / C#
Просто вопрос оговорено ли это заданием. Или просто надо чтоб другие не работали интерфейсы. Тогда можно просто в теле метода проверку сделать через is
источник

НП

Никита Петроченко... in CODE BLOG / C#
Vladimir
Просто вопрос оговорено ли это заданием. Или просто надо чтоб другие не работали интерфейсы. Тогда можно просто в теле метода проверку сделать через is
return null все равно не сможешь сделать
источник

SB

Sergey Benzenko in CODE BLOG / C#
Gennady Kurbesov
в метод передается интерфейс, а метод должен вернуть класс реализующий этот интерфейс, на который содержит ссылку, но если этот класс не найден (небыл создан ранее) вернуть null
Тогда можно не ограничивать, а switch по шаблонам сделать, например
источник

GK

Gennady Kurbesov in CODE BLOG / C#
Vladimir
Просто вопрос оговорено ли это заданием. Или просто надо чтоб другие не работали интерфейсы. Тогда можно просто в теле метода проверку сделать через is
можно конечно, но хотелось бы более изащренно
источник

НП

Никита Петроченко... in CODE BLOG / C#
Gennady Kurbesov
можно конечно, но хотелось бы более изащренно
н4у тогда напиши стой язык программирования. Это изящнее некуда
источник

GK

Gennady Kurbesov in CODE BLOG / C#
👌
источник

V

Vladimir in CODE BLOG / C#
Никита Петроченко
return null все равно не сможешь сделать
Щас забил в студии, все ок
источник

НП

Никита Петроченко... in CODE BLOG / C#
Vladimir
Щас забил в студии, все ок
скрин в студию
источник

GK

Gennady Kurbesov in CODE BLOG / C#
Sergey Benzenko
Тогда можно не ограничивать, а switch по шаблонам сделать, например
можно и if и switch, но тогда нужно передавать экземпляр клааса, который сначало унаследует этот интерйфейс, потом передать в метотд, что бы тот вернул нужный объект?
источник

SB

Sergey Benzenko in CODE BLOG / C#
Gennady Kurbesov
можно конечно, но хотелось бы более изащренно
а так?
switch (obj)
{
 case ITranslationService trans:
   return trans;
 case IClientService client:
   return client;
 ...
 default:
   return null;
}
источник

V

Vladimir in CODE BLOG / C#
Скрина не будет
источник

GK

Gennady Kurbesov in CODE BLOG / C#
Vladimir
Скрина не будет
источник

НП

Никита Петроченко... in CODE BLOG / C#
Vladimir
Скрина не будет
ну если ограничение на класс убрать, то не сработает
источник

V

Vladimir in CODE BLOG / C#
Как то значит по другому надо) тут получается, что у тебя в метод передается класс, реализующий ВСЕ интерфейсы
источник

V

Vladimir in CODE BLOG / C#
Т.е. либо синтаксис у where другой, либо проверка на интерфейсы в теле метода
источник

GK

Gennady Kurbesov in CODE BLOG / C#
Vladimir
Т.е. либо синтаксис у where другой, либо проверка на интерфейсы в теле метода
если проверка в теле метода то получается. в метод нужно передать класс, реализующий необходимый метод
источник

АГ

Александр Горелкин... in CODE BLOG / C#
Gennady Kurbesov
можно конечно, но хотелось бы более изащренно
не читал все
но
ретурн дефолт не прикостылится?
источник

GK

Gennady Kurbesov in CODE BLOG / C#
Александр Горелкин
не читал все
но
ретурн дефолт не прикостылится?
если передадут что нибудь типа bool или int - не думаю
источник