public HostBundleMetadataNode(IResolver resolver, Interface1 metadata) : base(resolver, metadata) { this._referencableProxy = new Referencable(); AssertUtility.ArgumentNotNull(resolver, "resolver"); this.FragmentNodes = new List <IFragmentBundleMetadataNode>(); BundleUtility.BuildFragments(this); }
public List <Tuple <IFragmentBundleMetadataNode, List <IAssemblyMetadataNode> > > AttachAllFragments() { List <IFragmentBundleMetadata> metadatas = BundleUtility.GetMetadatas <IFragmentBundleMetadata>(base.ConstraintResolver.State.Bundles); BundleUtility.BindFragmentMetadatas((Interface1)base.Metadata, metadatas); List <Interface2> unResolverNodes = base.ConstraintResolver.State.Resolver.UnResolverNodes; BundleUtility.BuildFragments(this); List <Tuple <IFragmentBundleMetadataNode, List <IAssemblyMetadataNode> > > rt = new List <Tuple <IFragmentBundleMetadataNode, List <IAssemblyMetadataNode> > >(this.FragmentNodes.Count); this.FragmentNodes.ForEach(delegate(IFragmentBundleMetadataNode a) { base.ConstraintResolver.ResolvedAssemblyMetadataNodes.AddRange(a.SharedAssemblyNodes); base.ConstraintResolver.ResolvedAssemblyMetadataNodes.AddRange(a.PrivateAssemblyNodes); }); this.FragmentNodes.ForEach(delegate(IFragmentBundleMetadataNode fragementNode) { rt.Add(TupleUtility.CreateTuple <IFragmentBundleMetadataNode, List <IAssemblyMetadataNode> >(fragementNode, new List <IAssemblyMetadataNode>(fragementNode.SharedAssemblyNodes))); }); return(rt); }