You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Scott Xu edited this page Apr 7, 2014
·
7 revisions
The second way to add factories is to inject a Func<...,T> to the type that needs to resolve new objects at runtime. As with the factory interface mechanism, automatic propagation of arguments is also handled.
However, as a Func gives practically no discoverable information about the nature of the required arguments, it is recommended not to employ Func<T>-injection unless it takes no arguments. (Even if it takes no arguments I personally think factory interfaces are a cleaner way to manage factories; while you do have to write a little more code, the improved readability vs a Func<T> is worth the effort).
The following example illustrates what's involved in using Func<T>-injection:
That’s all you have to do in this case; there is no need to create a special binding for Bar as the inferring of the resolution strategy is automatically managed by the standard provider's implicit behavior.