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

ListAllNamingProcessorCodes() public static method

public static ListAllNamingProcessorCodes ( ) : bool>>.List
return bool>>.List
        public static List<KeyValuePair<string, bool>> ListAllNamingProcessorCodes()
        {
            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<KeyValuePair<string, bool>>();
            foreach (string namingClass in classes)
            {
                string toCreate = string.Format("{0}.{1}", ns, namingClass);
                Type type = dataAssembly.GetType(toCreate);
                var inst = Activator.CreateInstance(type, new NamingApproach());
                res.Add(new KeyValuePair<string, bool> (((SpecialNamingBase)inst).SpecialCode, ((SpecialNamingBase)inst).HasValue));
            }

            return res;
        }