Как правильно организовать работу перегруженных методов?C#

Место общения программистов C#
Anonymous
Как правильно организовать работу перегруженных методов?

Сообщение Anonymous »

У меня такая ситуация. Есть методы, которые условно принимают один аргумент и что-то делают. Например:

Код: Выделить всё

public Task SomeOperation(string name)
{
var user = await _context.Users.FirstOrDefaultAsync(...);

var anotherUser = await _context.Users.FirstOrDefaultAsync(...);

/// more logig
}
Теперь мне нужно сделать метод, который будет принимать что-то в качестве второго параметра, и в зависимости от этого логика будет совсем немного меняться.

Код: Выделить всё

public Task SomeOperation(string name, string conString)
{
var context = _service.CreateContext(conString);

var user = await context.Users.FirstOrDefaultAsync(...);

var anotherUser = await context.Users.FirstOrDefaultAsync(...);

/// more logig
}
Логика практически не меняется. А если перегрузить методы в сервисах, то немного меняется, и общая логика копируется. Оказывается в сервисе много повторяющегося кода. Что мне делать в такой ситуации? Должен ли я поместить логику в частный метод? Или передайте этим методам второй параметр по умолчанию, нулевой, и внутри условия. Есть ли какие-нибудь закономерности? (Методы службы).

Подробнее здесь: https://stackoverflow.com/questions/790 ... ed-methods

Вернуться в «C#»