I have such interface as shown below. The problem is in AddLogger()
method i cannot use just Loggers.Add(logger);
public interface INotificationFactory
{
IEnumerable<ILogger> Loggers
{
get;
set;
}
void AddLogger(ILogger logger);
void DoLog(EMsgType msgType, string msg);
IEnumerable<ILogger> GetLoggers();
}
Interface implementation:
public class NotificationFactory : INotificationFactory
{
public IEnumerable<ILogger> Loggers // read-write instance property
{ get; set; }
public NotificationFactory()
{
Loggers = new List<ILogger>();
}
public void AddLogger(ILogger logger)
{
Loggers.Add(logger);
}
public void DoLog(EMsgType msgType, string msg)
{
foreach (var logger in Loggers)
{
logger.Write(msgType, msg);
}
}
public IEnumerable<ILogger> GetLoggers()
{
return Loggers;
}
}