2 * Namespace: System.Web
6 * Contact: <gvaish@iitk.ac.in>
9 * (C) Gaurav Vaish (2002)
13 using System.Reflection;
15 namespace Mono.Enumerations
17 public class EnumCheck
19 private string className;
22 private static readonly string baseDir = @"C:\WINNT\Microsoft.NET\Framework\v1.0.2914";
23 private static readonly string[] assemblies = {
29 "System.Windows.Forms",
33 "System.Enterpriseservices",
36 "System.Runtime.Remoting",
37 "System.ServiceProcess",
38 "System.Web.RegularExpressions",
42 public EnumCheck(string className)
44 this.className = className;
50 if(type == null || !type.IsEnum)
52 System.Console.Write("-->Failed to load the enumeration: " + className);
55 Array ar = Enum.GetValues(type);
56 System.Console.WriteLine("-->Enumeration: {0}", type.ToString());
57 for(int i=0; i < ar.Length; i++)
59 Enum b = (Enum)ar.GetValue(i);
60 System.Console.Write(" {0}", Enum.Format(type, b, "G"));
61 System.Console.WriteLine(" ({0}) ", Enum.Format(type, b, "D"));
65 private void LoadType()
68 foreach(string assemblyName in assemblies)
70 string fileName = baseDir + "\\" + assemblyName + ".dll";
73 Assembly assembly = Assembly.Load(AssemblyName.GetAssemblyName(fileName));
74 foreach(Type t in assembly.GetTypes())
79 if(Type.GetType(className + "," + assemblyName) != null)
80 name = Type.GetType(className + "," + assemblyName).ToString();
81 if(name == t.ToString())
87 } catch(BadImageFormatException)
89 } catch(ReflectionTypeLoadException)
91 } catch(ArgumentException)
99 public static void PrintUsage()
101 System.Console.WriteLine("Usage:");
102 System.Console.WriteLine("EnumCheck [<enum> [<enum> [... ] ] ]");
103 System.Console.WriteLine("");
104 System.Console.WriteLine("enum := <namespace>[.<subnamespace>[...]].enum_name");
105 System.Console.WriteLine("");
108 public static void Main(string[] args)
110 if(args.Length > 0 && (args[0] == "--help" || args[0] == "-h"))
115 EnumCheck check = null;
118 foreach(string clName in args)
120 check = new EnumCheck(clName);
122 System.Console.WriteLine("\n");
127 System.Console.Write("Enter the name of the Enumeration (end to stop): ");
128 string clName = System.Console.ReadLine();
129 if(clName == "stop" || clName.Length == 0)
131 check = new EnumCheck(clName);
133 System.Console.WriteLine("\n");