StrangeIoC  0.6.0
The IoC/Binding Framework for Unity3D and C#
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events Pages
Public Member Functions | Protected Member Functions | Properties | List of all members
strange.extensions.injector.impl.CrossContextInjectionBinder Class Reference

A special version of InjectionBinder that allows shared injections across multiple Contexts. More...

Inheritance diagram for strange.extensions.injector.impl.CrossContextInjectionBinder:
strange.extensions.injector.impl.InjectionBinder strange.extensions.injector.api.ICrossContextInjectionBinder strange.framework.impl.Binder strange.extensions.injector.api.IInjectionBinder strange.extensions.injector.api.IInjectionBinder strange.framework.api.IBinder strange.framework.api.IInstanceProvider strange.framework.api.IInstanceProvider

Public Member Functions

override IInjectionBinding GetBinding< T > ()
 
override IInjectionBinding GetBinding< T > (object name)
 
override IInjectionBinding GetBinding (object key)
 
override IInjectionBinding GetBinding (object key, object name)
 
override void ResolveBinding (IBinding binding, object key)
 Places individual Bindings into the bindings Dictionary as part of the resolving process More...
 
- Public Member Functions inherited from strange.extensions.injector.impl.InjectionBinder
object GetInstance (Type key)
 Retrieve an Instance based on the key. More...
 
virtual object GetInstance (Type key, object name)
 Retrieve an Instance based on a key/name combo. More...
 
GetInstance< T > ()
 Retrieve an Instance based on the key. More...
 
GetInstance< T > (object name)
 Retrieve an Instance based on a key/name combo. More...
 
override IBinding GetRawBinding ()
 Generate an unpopulated IBinding in whatever concrete form the Binder dictates.
 
new IInjectionBinding Bind< T > ()
 
IInjectionBinding Bind (Type key)
 
int ReflectAll ()
 Reflect all the types currently registered with InjectionBinder Return the number of types reflected, which should be equal to the number of concrete classes you've mapped. More...
 
int Reflect (List< Type > list)
 Reflect all the types in the list Return the number of types in the list, which should be equal to the list length.
 
- Public Member Functions inherited from strange.framework.impl.Binder
delegate void BindingResolver (IBinding binding)
 A handler for resolving the nature of a binding during chained commands.
 
virtual IBinding Bind (object key)
 Bind a Binding Key to a value.
 
virtual void Unbind< T > ()
 Remove a binding based on the provided Key (generic)
 
virtual void Unbind (object key)
 Remove a binding based on the provided Key.
 
virtual void Unbind< T > (object name)
 Remove a binding based on the provided Key (generic) / Name combo.
 
virtual void Unbind (object key, object name)
 Remove a binding based on the provided Key / Name combo.
 
virtual void Unbind (IBinding binding)
 Remove the provided binding from the Binder.
 
virtual void RemoveValue (IBinding binding, object value)
 Remove a select value from the given binding.
 
virtual void RemoveKey (IBinding binding, object key)
 Remove a select key from the given binding.
 
virtual void RemoveName (IBinding binding, object name)
 Remove a select name from the given binding.
 
virtual void OnRemove ()
 The Binder is being removed Override this method to clean up remaining bindings.
 
- Public Member Functions inherited from strange.extensions.injector.api.IInjectionBinder
IBinding Bind (object key)
 
void Unbind< T > ()
 
void Unbind< T > (object name)
 
void Unbind (object key)
 
void Unbind (object key, object name)
 
void Unbind (IBinding binding)
 

Protected Member Functions

override IInjector GetInjectorForBinding (IInjectionBinding binding)
 

Properties

IInjectionBinder CrossContextBinder [get, set]
 
- Properties inherited from strange.extensions.injector.impl.InjectionBinder
IInjector injector [get, set]
 
- Properties inherited from strange.extensions.injector.api.IInjectionBinder
IInjector injector [get, set]
 Get or set an Injector to use. By default, Injector instantiates it's own, but that can be overridden.
 
- Properties inherited from strange.extensions.injector.api.ICrossContextInjectionBinder
IInjectionBinder CrossContextBinder [get, set]
 

Additional Inherited Members

- Protected Attributes inherited from strange.framework.impl.Binder
Dictionary< object, Dictionary
< object, IBinding > > 
bindings
 Dictionary of all bindings Two-layer keys. More...
 
Dictionary< object, Dictionary
< IBinding, object > > 
conflicts
 

Detailed Description

A special version of InjectionBinder that allows shared injections across multiple Contexts.

See Also
strange.extensions.injector.api.IInjectionBinder
strange.extensions.injector.api.ICrossContextInjectionBinder

Member Function Documentation

override void strange.extensions.injector.impl.CrossContextInjectionBinder.ResolveBinding ( IBinding  binding,
object  key 
)
inline

Places individual Bindings into the bindings Dictionary as part of the resolving process

Note that while some Bindings may store multiple keys, each key takes a unique position in the bindings Dictionary.

Conflicts in the course of fluent binding are expected, but GetBinding will throw an error if there are any unresolved conflicts.

Implements strange.extensions.injector.api.IInjectionBinder.


The documentation for this class was generated from the following file: