Как правильно организовать работу перегруженных методов?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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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