【发布时间】:2011-04-21 05:52:43
【问题描述】:
在温莎城堡容器中注册了以下类:
namespace MyNamespace
{
class Foo : IFoo
{
public Foo(ILog log)
{
_log = log;
}
...
}
}
ILog 是一个 log4net 记录器,目前注册是这样的:
Component.For<ILog>().UseFactoryMethod(
() => LogManager.GetLogger(Assembly.GetCallingAssembly().FullName));
我想创建一个名为 调用类型(在本例中为 "MyNamespace.Foo")而不是调用程序集的记录器。除了使用反射来玩堆栈帧之外,有没有办法做到这一点?
【问题讨论】:
-
你看过城堡的伐木设施了吗?
-
请参阅stackoverflow.com/a/13388644/25702 以获取对此的可能答案
标签: c# reflection log4net castle-windsor ioc-container