gpt4 book ai didi

c# - 在 Windows 窗体应用程序中使用 CaSTLe Windsor

转载 作者:太空狗 更新时间:2023-10-30 01:36:10 24 4
gpt4 key购买 nike

我想使用 CaSTLe IOC 将记录器添加到 Windows 窗体应用程序。

我像下面这样注册了记录器:

static class Program
{
[STAThread]
static void Main()
{
IWindsorContainer container = new WindsorContainer().Install(FromAssembly.This());

container.Register(Component.For<ICommonLogger>().ImplementedBy(typeof(CommonLogger)).LifeStyle.Singleton);
container.Kernel.Resolver.AddSubResolver(new EAE_Automation.COM.LoggerResolver(container.Kernel));

}
}

然后是另一种形式的应用程序,我尝试使用记录器作为属性,但它对程序来说是空的。

namespace Test.KNXManagement
{
public partial class Test: Form
{
public ICommonLogger Logger { get; set;}

public Tunneling()
{
Logger.Info("Testing.......................");

}

}
}

我想我在这里漏掉了一个重要的点

最佳答案

我还注册了 Form 类来解析子依赖。

    container.Register(Classes.FromThisAssembly().BasedOn<Form>());

然后也如下运行应用程序

    Application.Run(container.Resolve<Test>()); 

那就解决了我的问题。

谢谢大家

关于c# - 在 Windows 窗体应用程序中使用 CaSTLe Windsor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22987269/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com