/// <summary> /// Adds an object with per thread lifetime for the specified key /// </summary> /// <typeparam name="TSrc">The type that will be used as a key</typeparam> /// <param name="obj">Association container to which the addition is performed</param> /// <param name="objType">The type of the object that will be held by the PerThread lifetime container</param> public static void AddPerThread <TSrc>(this IPerThreadAssociationSupport <Type> obj, Type objType) { Contract.Requires(obj != null); Contract.Requires <ArgumentNullException>(objType != null); obj.AddPerThread(typeof(TSrc), objType); }
/// <summary> /// Adds an object with per thread lifetime for the specified key /// </summary> /// <typeparam name="TSrc">The type that will be used as a key</typeparam> /// <param name="obj">Association container to which the addition is performed</param> /// <param name="objType">The type of the object that will be held by the PerThread lifetime container</param> public static void AddPerThread <TSrc>(this IPerThreadAssociationSupport <Type> obj, Type objType) { TurboContract.Requires(obj != null, conditionString: "obj != null"); TurboContract.Requires(objType != null, conditionString: "objType != null"); obj.AddPerThread(typeof(TSrc), objType); }
/// <summary> /// Adds an object with per thread lifetime for the specified key /// </summary> /// <typeparam name="TSrc">The type that will be used as a key</typeparam> /// <typeparam name="TTarg">The type of the object that will be held by the PerThread lifetime container</typeparam> /// <param name="obj">Association container to which the addition is performed</param> public static void AddPerThread <TSrc, TTarg>(this IPerThreadAssociationSupport <Type> obj) { Contract.Requires(obj != null); obj.AddPerThread(typeof(TSrc), typeof(TTarg)); }