【问题标题】:Which Namespace holds Component.For in Castle Windsor?哪个命名空间在温莎城堡中拥有 Component.For?
【发布时间】:2015-06-20 01:52:06
【问题描述】:

我正在学习温莎城堡,我找到了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 调用为我抛出了编译器错误。 Intellisense 找不到Component。我应该为这个调用使用什么命名空间?

我通过 NuGet 添加了 Castle.CoreCastle.Windsor 引用。我一直在通过对象浏览器寻找Component,但这是一个很常见的名称。该教程不方便地遗漏了*usings,我找不到任何文档。

* 我发现很多教程和 StackOverflow 答案都忽略了usings,我永远无法弄清楚原因。

【问题讨论】:

  • 如果您有几分钟的时间,请发送拉取请求以获取教程以包含所需的命名空间,您可以在 GitHub.com 上编辑降价文件。
  • @JonathonRossi 抱歉,我对 GitHub 不是很熟悉。我从 NuGet 获得了 Castle Windsor 库。

标签: c# castle-windsor


【解决方案1】:

它位于Castle.MicroKernel.Registration

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多