Castle.MicroKernel.Handlers.DefaultGenericHandler.BuildSubHandler C# (CSharp) Метод

BuildSubHandler() защищенный Метод

protected BuildSubHandler ( Type closedImplementationType, Type requestedType ) : IHandler
closedImplementationType System.Type
requestedType System.Type
Результат IHandler
		protected virtual IHandler BuildSubHandler(Type closedImplementationType, Type requestedType)
		{
			// TODO: we should probably match the requested type to existing services and close them over its generic arguments
			var newModel = Kernel.ComponentModelBuilder.BuildModel(
				ComponentModel.ComponentName,
				AdaptServices(closedImplementationType, requestedType),
				closedImplementationType,
				GetExtendedProperties());
			CloneParentProperties(newModel);
			// Create the handler and add to type2SubHandler before we add to the kernel.
			// Adding to the kernel could satisfy other dependencies and cause this method
			// to be called again which would result in extra instances being created.
			return Kernel.CreateHandler(newModel);
		}