Я только что добавил логический параметр out в метод, который я написал, чтобы получить предупреждение в своем пользовательском интерфейсе. Я использовал 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 плохой практикой, и если да, то что мне делать вместо этого?
bool
указывает, что на самом деле было предупреждением? - person Cody Gray   schedule 23.11.2010