RadaCode.InDoc.Data.DocumentNaming.SpecialNamings.SpecialNamingsFactory.GetAllClasses C# (CSharp) Method

GetAllClasses() private static method

private static GetAllClasses ( string nameSpace, Assembly asm ) : IEnumerable
nameSpace string
asm System.Reflection.Assembly
return IEnumerable
        private static IEnumerable<string> GetAllClasses(string nameSpace, Assembly asm)
        {
            var namespaceList = (from type in asm.GetTypes() where type.Namespace == nameSpace select type.Name).ToList();

            return namespaceList.ToList();
        }
    }

Usage Example

示例#1
0
        public static SpecialNamingBase GetNamingProcessor(NamingApproach approach, string namingCode)
        {
            const string ns           = "RadaCode.InDoc.Data.DocumentNaming.SpecialNamings.Namings";
            var          dataAssembly = typeof(RadaCode.InDoc.Data.DocumentNaming.SpecialNamings.SpecialNamingBase).Assembly;

            var classes = SpecialNamingsFactory.GetAllClasses(ns, dataAssembly);

            var res = new List <string>();

            foreach (var inst in classes.Select(namingClass => string.Format("{0}.{1}", ns, namingClass)).Select(toCreate => dataAssembly.GetType(toCreate)).Select(type => Activator.CreateInstance(type, approach)).Where(inst => ((SpecialNamingBase)inst).SpecialCode == namingCode))
            {
                return(inst as SpecialNamingBase);
            }

            throw new Exception(string.Format("No class found that is able to process {0} code", namingCode));
        }
All Usage Examples Of RadaCode.InDoc.Data.DocumentNaming.SpecialNamings.SpecialNamingsFactory::GetAllClasses