Похоже, что я пропустил что-то очевидное, но на самом деле не могу понять, почему я не могу использовать/получить доступ к методу, который был присвоен переданному в Func<>
параметр, я хочу получить доступ/вызвать его во внешнем контексте вызова.Доступ к методу, который был назначен переданному в параметре 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;
}
}
пытался использовать 'out'? – Reniuz