2015-06-19 37 views
1

我正在学习温莎堡,我发现this tutorial。在这里面,有这样的代码:哪个命名空间在Castle Windsor中保存Component.For?

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.CoreCastle.Windsor引用。我一直在寻找对象浏览器,试图找到Component,但它是一个很常见的名字。本教程不方便地忽略了* using,我无法找到任何文档。

* 我发现很多教程和StackOverflow答案都遗漏了using,我永远无法弄清楚为什么。

+1

如果您有几分钟的时间,请发送拉取教程要求以包含必需的命名空间,您可以在GitHub.com上编辑减价文件。 –

+0

@JonathonRossi对不起,我不熟悉GitHub。我从NuGet获得了Castle Windsor图书馆。 – user2023861

回答

3

它在Castle.MicroKernel.Registration

有时候也会让我烦恼,但如果项目是开源的,通常很容易搜索their repository

相关问题