Си диез / Говнокод #16034 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
var methods = from mi in typeof(T).GetMethods()
	  where !mi.IsAbstract && mi.Name == methodName
	  select mi;

LINQ over Reflection

Запостил: kostoprav kostoprav, (Updated )

Комментарии (9) RSS

  • И вдогонку

    return methods.Single(mi =>
                {
                    var parameters = mi.GetParameters();
                    if (parameters.Count() != args.Count())
                    {
                        return false;
                    }
                    return MatchParameters(parameters, args);
                });
    Ответить
  • Linq, сколько же ты тонн говна было высрано с твоей помощью.
    Ответить
    • А сколько тонн было без его помощи? Сириоусли.
      Ответить
  • А что плохого в linq? Синтаксический сахар. По мне так вещь полезная, порой избавляет от написания большого количества кода лишнего. Может быть синтаксически это и выглядит отталкивающе, но это дело привычки. А в целом, все равно все эти конструкции транслируются в теже il вставки что и для обычных циклов foreach
    Ответить
      • Вариант с мсдн вернет MethodInfo описывающий конкретный метод, а вариант который преведен в заголовке вернет коллекцию из MethodInfo для всех методов с указанным именем, может имеются перегрузки. Вопрос в том что хотел тот, кто писал этот код 🙂
        Ответить
        • Я там в тонне LINQ магии пропустил кусочек - потом как коммент добавил
          Ответить
    • А в общем - линк часто используют совершенно не по назначению, порой забывая что проблема решается другим способом, временами более эффективным.
      Ответить

Добавить комментарий

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8