看起来我错过了一些明显的东西,但真的不知道为什么我不能使用/访问分配给传入Func<>
参数的方法,我想在外部调用上下文中访问/调用它。
下面是简单的例子:(真正的results
数据类型不是string
一些复杂的类型)
class Caller
{
private Func<string> factory;
public Caller()
{
this.factory = null;
var adapter = new Adapter(this.factory);
adapter.Adapt(...);
// then I would share this factory via IoC
dependencyContainer.RegisterUsingFactoryMethod<string>(this.factory);
// !!! but here is factory still not assigned
string results = this.factory();
}
}
class Adapter
{
private string results;
public Adapter(Func<string> factory)
{
factory = () => this.results;
}
public IOut Adapt(IIn input)
{
this.results = someCalculatedData;
}
}