示例#1
0
		/// <summary>
		/// Returns an instance of the component this handler
		/// is responsible for
		/// </summary>
		/// <param name="context"></param>
		/// <returns></returns>
		public override object Resolve(CreationContext context)
		{
			if (!context.HasAdditionalParameters)
			{
				AssertNotWaitingForDependency();
			}

			using (context.ResolvingHandler(this))
			{
			    return lifestyleManager.Resolve(context);
			}
		}
		public override object Resolve(CreationContext context)
		{
			Type implType = ComponentModel.Implementation.MakeGenericType(context.GenericArguments);

			IHandler handler = GetSubHandler(context, implType);

			//so the generic version wouldn't be considered as well
			using(context.ResolvingHandler(this))
			{
				return handler.Resolve(context);
			}
		}