/// <summary> /// The on perpare. /// </summary> /// <param name="context"> /// The context. /// </param> public override void OnPerpare(IBuildContext context) { if (context.Target != null) return; context.ErrorTracer.Phase = "Reciving Construtor Informations for " + context.Metadata; IImportInterceptor interceptor; context.Policys.Add( new ConstructorPolicy { Constructor = context.UseInternalInstantiation() ? Helper.WriteDefaultCreation(context) : context.Metadata.Export.ExternalInfo.Create, Generator = _service.Generate(context.Metadata, context.Metadata.Export.ImportMetadata.ToArray(), out interceptor) }); if (interceptor == null) return; var pol = context.Policys.Get<ExternalImportInterceptorPolicy>(); if (pol != null) pol.Interceptors.Add(interceptor); else { pol = new ExternalImportInterceptorPolicy(); pol.Interceptors.Add(interceptor); context.Policys.Add(pol); } }