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;
}