Я только что добавил параметр out bool в метод, который я написал по порядку чтобы получить предупреждение в моем интерфейсе. Я' Мы использовали out вместо того, чтобы заставить сам метод возвращать false / true, поскольку это означало бы, что DoSomething не удалось / успешно. Я думал, что warnUser укажет, чем на самом деле было предупреждение, не обращая внимания на реализацию метода.
Исходный код
public void DoSomething(int id, string input);
Новый код
public void DoSomething(int id, string input, out bool warnUser);
Я использую Moq для тестирования этот код, но он не поддерживает параметры out / ref, потому что они не поддерживаются лямбда-выражениями
Тестовый код
mockService.Verify(It.IsAny<int>(), It.IsAny<string>(), It.IsAny<bool>());
Итак, использование out параметров является плохой практикой, и если да, что мне делать сделать вместо этого?