コード例 #1
0
 /// <summary>
 ///     The fill container.
 /// </summary>
 /// <param name="container">
 ///     The container.
 /// </param>
 protected internal override void FillContainer(ExportResolver container)
 {
     foreach (XamlCatalog innerCatalog in InnerCatalogs) innerCatalog.FillContainer(container);
 }
コード例 #2
0
 /// <summary>
 ///     The fill container.
 /// </summary>
 /// <param name="container">
 ///     The container.
 /// </param>
 protected internal override void FillContainer(ExportResolver container)
 {
     container.AddPath(string.Empty);
     container.AddPath(PluginPath, "*.dll", SearchOption.AllDirectories);
     container.AddPath(string.Empty, "*.exe");
     container.AddPath(PluginPath, "*.exe", SearchOption.AllDirectories);
 }
コード例 #3
0
 /// <summary>
 ///     The fill container.
 /// </summary>
 /// <param name="container">
 ///     The container.
 /// </param>
 protected internal override void FillContainer(ExportResolver container)
 {
     container.AddPath(Path, SearchPattern, SearchOption, DiscoverChanges);
 }
コード例 #4
0
        /// <summary>
        ///     The fill container.
        /// </summary>
        /// <param name="container">
        ///     The container.
        /// </param>
        protected internal override void FillContainer(ExportResolver container)
        {
            var types = new List<Type>(Types.Count);

            foreach (var type in Types)
            {
                var tempType = Type.GetType(type);
                if(tempType == null)
                    CommonConstants.LogCommon(false, "Xaml Catalog: Type Not Found: {0}", type);
                else
                    types.Add(tempType);
            }

            container.AddTypes(types);
        }
コード例 #5
0
        /// <summary>
        ///     The fill container.
        /// </summary>
        /// <param name="container">
        ///     The container.
        /// </param>
        protected internal override void FillContainer(ExportResolver container)
        {
            try
            {
                Assembly asm = string.IsNullOrWhiteSpace(AssemblyName)
                                   ? Assembly.GetEntryAssembly()
                                   : Assembly.Load(new AssemblyName(AssemblyName));

                Contract.Assume(asm != null);

                container.AddAssembly(asm);
            }
            catch (Exception e)
            {
                CommonConstants.LogCommon(true, "Xaml Catalog: Invalid Assembly: {0}\n{1}", AssemblyName, e);
                throw;
            }
        }
コード例 #6
0
        /// <summary>
        ///     The fill.
        /// </summary>
        /// <param name="container">
        ///     The container.
        /// </param>
        protected virtual void Fill([NotNull] IContainer container)
        {
            Contract.Requires<ArgumentNullException>(container != null, "container");

            if(string.IsNullOrWhiteSpace(CatalogList))
                CommonConstants.LogCommon(false, "Common Application: CatalogList Empty");

            if (CatalogList == null) return;

            var coll = XamlServices.Load(CatalogList) as CatalogCollection;
            try
            {
                if (coll == null) return;

                var resolver = new ExportResolver();
                coll.FillCatalag(resolver);
                container.Register(resolver);
            }
            catch (ArgumentException e)
            {
                if (ExceptionPolicy.HandleException(e, CommonConstants.CommonExceptionPolicy)) throw;
            }
        }
コード例 #7
0
 /// <summary>
 ///     The fill container.
 /// </summary>
 /// <param name="container">
 ///     The container.
 /// </param>
 protected internal override void FillContainer(ExportResolver container)
 {
     Contract.Requires<ArgumentNullException>(container != null, "container");
 }
コード例 #8
0
 /// <summary>
 ///     The register.
 /// </summary>
 /// <param name="exportResolver">
 ///     The export.
 /// </param>
 public void Register(ExportResolver exportResolver)
 {
     exportResolver.Fill(_componetnts, _exports, _exportproviders);
 }
コード例 #9
0
        /// <summary>
        ///     The register.
        /// </summary>
        /// <param name="exportResolver">
        ///     The export resolver.
        /// </param>
        /// <exception cref="NotImplementedException">
        /// </exception>
        public void Register(ExportResolver exportResolver)
        {
            Contract.Requires<ArgumentNullException>(exportResolver != null, "exportResolver");

            throw new NotImplementedException();
        }