Advertisement
Guest User

Untitled

a guest
Apr 24th, 2018
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.76 KB | None | 0 0
  1. Assembly[] refAssemblies = AppDomain.CurrentDomain.GetAssemblies(); //формируем список типов, определенных во всех подключенных сборках:
  2. List<Type> types = new List<Type>();
  3.  
  4. foreach (Assembly asm in refAssemblies)
  5.     types.AddRange(asm.GetTypes());
  6.    
  7. Type maxNumberOfMethods = types[0];  //тип с максимальным числом методов
  8. String maxLengthOfMethodName = types[0].GetMethods()[0].ToString(), //самое длнное название метода
  9.        maxParametrsNumberMethod = types[0].GetMethods()[0].ToString(); //метод с наибольшим числом аргументов
  10.  
  11. for (int i = 0; i < types.Count; i++)
  12. {
  13.     if ( (i != (types.Count - 1)) && (maxNumberOfMethods.GetMethods().Length < types[i+1].GetMethods().Length) )
  14.         maxNumberOfMethods = types[i+1];                
  15.     for (int k = 0; k < types[i].GetMethods().Length; k++)
  16.     {
  17.         if ( (k != (types[i].GetMethods().Length - 1)) && (types[i].GetMethods()[k].ToString().Length < types[i].GetMethods()[k + 1].ToString().Length) )
  18.             maxLengthOfMethodName = types[i].GetMethods()[k + 1].ToString();
  19.         if ( (k != (types[i].GetMethods().Length - 1)) && (types[i].GetMethods()[k].GetParameters().Length < types[i].GetMethods()[k + 1].GetParameters().Length) )
  20.         {
  21.             maxParametrsNumberMethod = types[i].GetMethods()[k + 1].ToString();
  22.         }
  23.     }
  24. }
  25.  
  26.  Console.Write(            
  27.             "Тип с максимальным числом методов:\t" + maxNumberOfMethods.ToString() + "\n" +
  28.             "Самое длинное название метода:\t" + maxLengthOfMethodName + "\n" +
  29.             "Метод с наибольшим числом аргументов:\t" + maxParametrsNumberMethod + "\n" );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement