首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带参数的Unity自动工厂

带参数的Unity自动工厂
EN

Stack Overflow用户
提问于 2010-09-30 03:45:55
回答 4查看 10.1K关注 0票数 19

我正在尝试找出正确的方法来注入一个带有参数的自动工厂,或者即使使用Unity也可以做到这一点。

例如,我知道我可以这样做:

代码语言:javascript
运行
复制
public class TestLog
{
     private Func<ILog> logFactory;

     public TestLog(Func<ILog> logFactory)
     {
          this.logFactory = logFactory;
     }
     public ILog CreateLog()
     {
         return logFactory();
     }
}

Container.RegisterType<ILog, Log>();
TestLog test = Container.Resolve<TestLog>();
ILog log = test.CreateLog();

现在我想要做的是:

代码语言:javascript
运行
复制
public class TestLog
{
     private Func<string, ILog> logFactory;

     public TestLog(Func<string, ILog> logFactory)
     {
          this.logFactory = logFactory;
     }
     public ILog CreateLog(string name)
     {
         return logFactory(name);
     }
}

Container.RegisterType<ILog, Log>();
TestLog test = Container.Resolve<TestLog>();
ILog log = test.CreateLog("Test Name");

不幸的是,这不起作用。我可以看到你如何在Unity中创建自定义工厂来创建实例,但似乎无法为这个例子提供任何清晰的例子。

显然,,我可以创建自己的工厂,但我正在寻找一种优雅的方式,用最少的代码在中做到这一点。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3825270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档