Как определить интерфейс с помощью метода, который принимает либо IEnumerable , либо просто User

У меня есть интерфейс для сообщения:

public interface IMessage
    {
    int Id { get; set; }
    string Body { get; set; }
    string Title { get; set; }
    Employee CreatedBy { get; set; }
    MessageType MessageType { get; set; }

    void Send(IEnumerable<User> recipients);
    // or: void Send(User recipient);
    }

Каждая реализация должна иметь метод отправки, который отправляет сообщение, но в зависимости от сценария метод отправки отличается. Т.е. если это личное сообщение, то есть только один получатель, и этому конкретному пользователю также отправляется дополнительное почтовое уведомление, общедоступные сообщения этого не делают.

Параметр может быть списком пользователей или отдельным пользователем. Как я могу это реализовать?

Я знаю, что могу просто составить список из 1 пользователя для личного сообщения, но лучше всего, если это похоже на перегруженный метод.

0
задан cfs 15 February 2012 в 00:42
поделиться