如何使用 Zenject 创建具有多个参数的工厂?
How do I create factories capable of multiple parameters with Zenject?
如何使用带多个参数重载 Create 方法的 zenject 创建工厂(或如何以不同方式解决此问题)?
我希望能够
var x = factory.Create("bla bla");//string
x = factory.Create();//parameterless
x = factory.Create(1);//int
x = factory.Create(1,2);//int,int
x = factory.Create("bla bla",2);//string,int
一种方法是创建一个包含最大数量参数的工厂,然后提供使用默认值作为缺失值的额外方法,如下所示:
public class Foo
{
[Inject]
public string Value1;
[Inject]
public int Value2;
public class Factory : Factory<string, int, Foo>
{
public Foo Create(string value1)
{
return Create(value1, 0);
}
public Foo Create()
{
return Create("default");
}
}
}
如何使用带多个参数重载 Create 方法的 zenject 创建工厂(或如何以不同方式解决此问题)?
我希望能够
var x = factory.Create("bla bla");//string
x = factory.Create();//parameterless
x = factory.Create(1);//int
x = factory.Create(1,2);//int,int
x = factory.Create("bla bla",2);//string,int
一种方法是创建一个包含最大数量参数的工厂,然后提供使用默认值作为缺失值的额外方法,如下所示:
public class Foo
{
[Inject]
public string Value1;
[Inject]
public int Value2;
public class Factory : Factory<string, int, Foo>
{
public Foo Create(string value1)
{
return Create(value1, 0);
}
public Foo Create()
{
return Create("default");
}
}
}