Привет Я просто смотрел на AutoFac и после их получения стартером учебникAutoFac Регистрация спутанность
http://autofac.readthedocs.org/en/latest/getting-started/index.html
последовав его и понять, как их службы работают, я хотел, чтобы попытаться создать новую реализацию на тот же тип интерфейса
builder.RegisterType<TodayWriter>().As<IDateWriter>();
builder.RegisterType<TomorrowWriter>().As<IDateWriter>();
Оба implentations содержат один и тот же код
public class TomorrowWriter : IDateWriter
{
private IOutput _output;
public TomorrowWriter(IOutput output)
{
this._output = output;
}
public void WriteDate()
{
this._output.Write(DateTime.Today.AddDays(1).ToShortDateString());
}
}
Так TodaysWriter одно и то же независимо от метода WriteDate отображаются
this._output.Write(DateTime.Today.ToShortDateString());
вместо этого.
Так что теперь с помощью приложения, как определить, что реализация использовать как оба метода называются WriteDate()
using(var scope = Container.BeginLifetimeScope())
{
var writer = scope.Resolve<IDateWriter>();
// Is this using todaysWriter or TomorrowWriter?
writer.WriteDate();
}
Могу ли я использовать это неправильно?
Благодаря
Спасибо, просто хотел убедиться, что мое понимание было ясным, если другие разделы касаются того, что я спросил, я счастлив. – user3428422