コード例 #1
0
        public string[] GetRequiredNamespaces()
        {
            IEnumerable <IDefinitionRequiringNamespace> GetRequesters()
            {
                return(Resolvers.Cast <IDefinitionRequiringNamespace>()
                       .Concat(CollectionResolvers)
                       .Concat(Dependencies)
                       .Concat(Captures));
            }

            IEnumerable <IEnumerable <string> > GetNamespaces()
            {
                yield return(new[]
                {
                    "System",
                    "System.Collections.Generic"
                });

                yield return(GetRequesters().SelectMany(x => x.GetRequiredNamespaces()));

                if (DoSupportGenericHost)
                {
                    yield return(new[]
                    {
                        "Deptorygen.GenericHost",
                        "Microsoft.Extensions.DependencyInjection"
                    });
                }
            }

            return(GetNamespaces().SelectMany(x => x)
                   .Distinct()
                   .Except(new string[] { NameSpace })
                   .ToArray());
        }
コード例 #2
0
 public IEnumerable <TypeName> GetCapableServiceTypes()
 {
     return(Resolvers.Cast <IServiceProvider>()
            .Concat(CollectionResolvers)
            .SelectMany(x => x.GetCapableServiceTypes()));
 }