Я новичок в замке Виндзор и пытаюсь освоить основы ...
У меня есть следующий код ...
namespace WindowsBash.Models
{
public interface IShouter
{
string Display();
}
public class Shout : IShouter
{
private IMessage _message;
public Shout(IMessage message)
{
_message = message;
}
public string Display()
{
return _message.TheMessage();
}
}
public interface IMessage
{
string TheMessage();
}
public class MessageHello : IMessage
{
public string TheMessage()
{
return "Hello";
}
}
public class MessageBye : IMessage
{
public string TheMessage()
{
return "Bye";
}
}
}
У меня есть следующий метод, чтобы попробоватьи проверьте, что делает Виндзор ....
private void TestIOC()
{
var container = new WindsorContainer();
container.Register(
AllTypes.FromAssemblyContaining<IShouter>()
.Where(x => x.Namespace.StartsWith("WindowsBash"))
.WithService.AllInterfaces());
var MyShouter = container.Resolve<IShouter>();
var result = MyShouter.Display();
}
Прямо сейчас это всегда возвращает "Hello".Если бы я хотел, чтобы он возвращал «Пока», что бы мне нужно было изменить, не меняя порядок классов?