明らかな何かを見逃しているように見えますが、渡されたパラメーターに割り当てられたメソッドを使用/アクセスできない理由を本当に理解できません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;
}
}