我正在学习温莎城堡,我发现了this tutorial。其中包含以下代码:
private void button1_Click(object sender, EventArgs e)
{
// CREATE A WINDSOR CONTAINER OBJECT AND REGISTER THE INTERFACES, AND THEIR CONCRETE IMPLEMENTATIONS.
var container = new WindsorContainer();
container.Register(Component.For<Main>());
container.Register(Component.For<IDependency1>().ImplementedBy<Dependency1>());
container.Register(Component.For<IDependency2>().ImplementedBy<Dependency2>());
// CREATE THE MAIN OBJECT AND INVOKE ITS METHOD(S) AS DESIRED.
var mainThing = container.Resolve<Main>();
mainThing.DoSomething();
}
我跟着这个,但是Component.For
调用给我带来了编译错误。智能感知无法找到Component
。我应该使用什么命名空间进行此调用?
我通过NuGet添加了Castle.Core
和Castle.Windsor
引用。我一直在搜索对象浏览器,试图找到Component
,但这是一个很常见的名字。该教程不方便地遗漏了using
,我无法找到任何文档。
* 我发现许多教程和StackOverflow答案都忽略了using
,我永远无法弄清楚原因。