2
私はオブジェクトがFunc<>
の結果として解決されるようにしようとしています。 しかし、私はそれを行う方法を見つけることはありません。DryIoc関数で解決する
たとえば、変数(関数の引数)lazyInt
(これは、ある種の長時間実行された計算の結果である可能性があります)と、後で使用できるようになる前には結果は必要ありません。
private Demo(Container c, Func<int> lazyInt) : base(c)
{
_container = c;
c.Register<int>(made: Made.Of(/*???*/));
}
私はServiceInfo.Of
などを使用して少し試みましたが、当面は成功しませんでした。 どうすればできますか?
あなたはcontainer.RegisterDelegate(_ => lazyInt()); – dadhi
私はRegisterDelegateが別の方法があるときはいつも推奨されていないので、好ましい選択肢があるかもしれません。 –
すでに作成済みのデリゲート(lazyInt)を既に持っている場合は、回避策はありません。デリゲートを式ツリーとして書くことができれば、Made.Ofが優れているので、ツリーを解析して分析することができます。 – dadhi