コード例 #1
0
ファイル: Program.cs プロジェクト: apetrovskiy/STUPS
 private static void dumpTypes(string path)
 {
     ReadUiaControlIsOffscreenCommand ccc = 
         new ReadUiaControlIsOffscreenCommand();
     
     Assembly[] allAssms = 
         AppDomain.CurrentDomain.GetAssemblies();
     
     System.IO.StreamWriter writer = 
         new System.IO.StreamWriter(path);
     
     foreach (Assembly asm in allAssms) {
         Console.WriteLine(asm.FullName);
         if (asm.FullName.Contains("UIAutomation,")) {
             Console.WriteLine("working...");
             Type[] types = 
                 asm.GetTypes();
             foreach (Type t in types) {
                 
                 if (t.FullName.Contains("UIAutomation.Commands") &&
                     t.IsPublic) {
                     // Console.WriteLine(t.FullName);
                     PropertyInfo[] properties = 
                         t.GetProperties(); // BindingFlags.Instance);
                     foreach (PropertyInfo property in properties) {
                         // Console.WriteLine(property.Name);
                         // Console.WriteLine(property.PropertyType);
                         // Console.WriteLine(property.Attributes);
                         // Console.WriteLine(t.FullName + "\t" + property.Name + "\t" + property.PropertyType);
                         if (property.Name != "ParameterSetName" && 
                             property.Name != "MyInvocation" && 
                             property.Name != "InvokeCommand" && 
                             property.Name != "Host" && 
                             property.Name != "SessionState" && 
                             property.Name != "Events" && 
                             property.Name != "JobRepository" && 
                             property.Name != "InvokeProvider" && 
                             property.Name != "Stopping" && 
                             property.Name != "CommandRuntime" && 
                             property.Name != "CurrentPSTransaction" && 
                             property.Name != "CommandOrigin") {
                             if (t.FullName.Contains(".Get") ||
                                 t.FullName.Contains(".Set") ||
                                 t.FullName.Contains(".Invoke") ||
                                 t.FullName.Contains(".Register") ||
                                 t.FullName.Contains(".Unregister") ||
                                 t.FullName.Contains(".Read") ||
                                 t.FullName.Contains(".ConvertFrom") ||
                                 t.FullName.Contains(".ConvertTo") ||
                                 t.FullName.Contains(".Move") ||
                                 t.FullName.Contains(".New") ||
                                 t.FullName.Contains(".Add") ||
                                 t.FullName.Contains(".Save") ||
                                 t.FullName.Contains(".Step") ||
                                 t.FullName.Contains(".Start") ||
                                 t.FullName.Contains(".Stop") ||
                                 t.FullName.Contains(".Wait"))
                                 {
                             writer.WriteLine(t.FullName.Replace("UIAutomation.Commands.", "").Replace("Command", "").
                                                  Replace("UIA", "-UIA") + "\t" + property.Name + "\t" + property.PropertyType);
                                 }
                         }
                     }
                 }
             }
             Console.WriteLine("!");
         }
     }
     
     writer.Flush();
     writer.Close();
 }