6

Unityで次のNinject構文を複製しようとしていますが、運がありません。

Bind<IIdentity>().ToMethod(c => HttpContext.Current.User.Identity);

私はそれが次のように見えるべきだと思っています:

IUnityContainer container;
...
container.RegisterType<IIdentity>(HttpContext.Current.User.Identity);

どうあるべき?

4

3 に答える 3

11

neontapir答えは機能する可能性がありますが、その拡張方法は廃止されています。これを行う正しい方法は、InjectionFactoryを使用することです。

container.RegisterType<IIdentity>(new InjectionFactory(u => HttpContext.Current.User.Identity));
于 2011-11-23T18:01:06.190 に答える
1
container.RegisterInstance<IIdentity>(...);
于 2011-11-23T17:50:31.827 に答える
0

静的ファクトリ拡張がそれを行うと思います。私はUnityで錆びています。Seeman の.NET での Dependency Injectionは、このような状況に適したリソースです。

于 2011-11-23T17:56:42.617 に答える