Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Assembly[] refAssemblies = AppDomain.CurrentDomain.GetAssemblies(); //формируем список типов, определенных во всех подключенных сборках:
- List<Type> types = new List<Type>();
- foreach (Assembly asm in refAssemblies)
- types.AddRange(asm.GetTypes());
- Type maxNumberOfMethods = types[0]; //тип с максимальным числом методов
- String maxLengthOfMethodName = types[0].GetMethods()[0].ToString(), //самое длнное название метода
- maxParametrsNumberMethod = types[0].GetMethods()[0].ToString(); //метод с наибольшим числом аргументов
- for (int i = 0; i < types.Count; i++)
- {
- if ( (i != (types.Count - 1)) && (maxNumberOfMethods.GetMethods().Length < types[i+1].GetMethods().Length) )
- maxNumberOfMethods = types[i+1];
- for (int k = 0; k < types[i].GetMethods().Length; k++)
- {
- if ( (k != (types[i].GetMethods().Length - 1)) && (types[i].GetMethods()[k].ToString().Length < types[i].GetMethods()[k + 1].ToString().Length) )
- maxLengthOfMethodName = types[i].GetMethods()[k + 1].ToString();
- if ( (k != (types[i].GetMethods().Length - 1)) && (types[i].GetMethods()[k].GetParameters().Length < types[i].GetMethods()[k + 1].GetParameters().Length) )
- {
- maxParametrsNumberMethod = types[i].GetMethods()[k + 1].ToString();
- }
- }
- }
- Console.Write(
- "Тип с максимальным числом методов:\t" + maxNumberOfMethods.ToString() + "\n" +
- "Самое длинное название метода:\t" + maxLengthOfMethodName + "\n" +
- "Метод с наибольшим числом аргументов:\t" + maxParametrsNumberMethod + "\n" );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement