19

我对 IoC/windsor 完全陌生。我从谷歌开始学习它,但不幸的是,我没有合适的文档来让我更容易理解。所以我带着这样的标题/问题来到这里。

每个文档/页面(网络),开始类似这样的东西

“我们应该从注册类/接口开始,然后解决它......”

但没有一个页面显示有关如何实现这一目标的完整文档,我也尝试制作一个简单的项目,但我未能运行它。我不知道如何解析容器,在哪里/如何调用 install(),我完全搞砸了。

任何人都可以帮助我提供一个包含注册/安装完整演示的示例项目吗?

提前致谢 :)

4

3 回答 3

22

Mark Seemann 的 .NET 中的 Dependency Injection一书也是一个很好的起点。写得很好,专门有一章关于温莎城堡。

他们也有一些关于代码项目的很好的教程,我以前用过:

更新

好吧,最简单的教程如下:

1)在VS2010中创建新的控制台应用程序

2)右击“References”,选择“Manage NuGet Packages”,安装Castle.Windsor

3) 对 Program.cs 使用以下代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Castle.MicroKernel.Registration;
using Castle.Windsor;

namespace ExploringCastleWindsor
{
    internal class Program
    {
        interface ILogger
        {
            void Log(string message);
        }

        class Logger : ILogger
        {
            public void Log(string message)
            {
                Console.WriteLine(message);
            }
        }

        static void Main(string[] args)
        {
            // Registering
            var container = new WindsorContainer();
            container.Register(Component.For<ILogger>().ImplementedBy<Logger>());
            // Resolving
            var logger = container.Resolve<ILogger>();
            logger.Log("Hello World!");
        }
    }
}
于 2013-02-02T21:04:31.480 回答
1

如果您正在寻找教程,请查看此链接

它在一个示例中解释了 CastleWindsor、Nhibernate 和 UnitOfWork。

于 2017-03-07T18:02:26.327 回答
0

您也可以使用添加温莎城堡

工具 --> NuGet 包管理器 --> 包管理器控制台。

而不仅仅是输入Install-Package Castle.Windsor

完成组装后,您就可以开始使用代码了。Sebastian K提供了一个很好的工作代码示例。

于 2016-06-17T14:27:19.857 回答