SmartDIContainer.cs
/// <summary>
/// Creates an instance of a class and stores it according to the requested rules. Only works if you have
/// registered each base class first along with any interface they should be available (type-cast) as. See
/// <see cref="RegisterTypeContracts" /> for details about this.
/// </summary>
/// <param name="typeRequestedT">
/// This is the type that you wish to receive. It is not necessarily the "base" class type. It is more commonly an
/// interface implemented by your base class type.
/// </param>
/// <param name="storageRule">
/// This is a *request* for a storage rule, but is subject to strict guidelines:
/// * If you ask for "AnyAccessLevel", and there is no other value set in the registration, we will give you an
/// unstored local variable.
/// * If, when you registered, you set the access level to something like "SharedDependencyBetweenInstances", and
/// then here on Resolve ask for "GlobalSingleton", we default to throw with an illegal request.
/// </param>
/// <param name="boundInstance">
/// The "host" or "bound" class that is attached to this instance. Only required if you need a
/// "SharedDependencyBetweenInstances".
/// </param>
/// <param name="conflictResolver">
/// This is an advanced parameter where you can include a function to "break the tie" when this container tries to
/// Resolve, but comes up with more than one competing resolution contract. If you leave this at null, and we
/// cannot see a single legal choice, we will throw an error.
/// </param>
/// <returns>An object which *must* then be cast as the type requested by the *caller*.</returns>
/// <summary>
/// Resolves the specified type requested t.
/// </summary>
/// <param name="typeRequestedT">The type requested t.</param>
/// <param name="storageRule">The storage rule.</param>
/// <param name="boundInstance">The bound instance.</param>
/// <param name="conflictResolver">The conflict resolver.</param>
/// <returns>System.Object.</returns>
/// <autogeneratedoc />
/// TODO Edit XML Comment Template for Resolve
Resolves the specified type requested t.
Resolves the specified type requested t .
object Resolve
      (
         Type         typeRequestedT,
         StorageRules storageRule   = StorageRules.AnyAccessLevel,
         object       boundInstance = null,
         Func<ConcurrentDictionary<Type, ITimeStampedCreatorAndStorageRules>, IConflictResolution>
            conflictResolver =
            null
      );
object Resolve ( Type typeRequestedT , StorageRules storageRule = StorageRules . AnyAccessLevel , object boundInstance = null , Func < ConcurrentDictionary < Type , ITimeStampedCreatorAndStorageRules > , IConflictResolution > conflictResolver = null ) ;
Resolves the specified type requested t.
Resolves the specified type requested t .
An object which *must* then be cast as the type requested by the *caller*.
An object which * must * then be cast as the type requested by the * caller * .
None
typeRequestedT
Type
The type requested t.
The type requested t .
storageRule
StorageRules
The storage rule.
The storage rule .
boundInstance
object
The bound instance.
The bound instance .
conflictResolver
Func<ConcurrentDictionary<Type, ITimeStampedCreatorAndStorageRules>, IConflictResolution>
The conflict resolver.
The conflict resolver .
autogeneratedoc
None