我有一个消息接口:
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);
}
Run Code Online (Sandbox Code Playgroud)
每个实现都必须具有发送消息的Send方法,但根据方案,Send方法不同.即如果它是私人消息,则只有一个收件人,并且还向该特定用户发送了另外的邮件通知,公共消息不会这样做.
该参数可以是用户列表或单个用户.我该如何实现呢?
我知道我可以为私人消息制作一个用户列表,但最好的情况是它是否像重载方法一样.
只是重载方法 - 这在接口中也是有效的:
void Send(IEnumerable<User> recipients);
void Send(User recipient);
Run Code Online (Sandbox Code Playgroud)
您需要在接口的实现者中实现两个重载.