Pull to refresh

Comments 12

Да, утилита написана с умом. Помню года 3 или 4 назад впервые её увидел.

Что-то последнее время у меня появляется ощущение, что через пару лет выглядеть всё будет так:
«Visual Studio — Плагин для ReSharper, позволяет компилировать код.»
Убрали бы тормоза они наконец-то, цены бы не было.
просто нужен мощный комп, где много много памяти )
походу они хотят чтоб с каждый новой версией VS и R# программисты проапгейдели системник.
ReSharper навигировал навигировал, да не вынавигировал :)
Только вот работать оно будет вовсе не всегда. Вот только что пробовал детектить поле, которое инжектит DI-Container — сказало что поле не присваивается нигде.
using Ninject.Core;

interface IA
{
}

class A : IA
{
}

class B
{
  [Inject]
  public IA A;
}

class Module : StandardModule
{
  public override void Load()
  {
    Bind<IA>().To<A>();
  }
}

class Program
{
  static void Main()
  {
    IKernel kernel = new StandardKernel(new Module());
    B b = kernel.Get<B>();
    Console.WriteLine(b.A);
    Console.ReadKey();
  }
}


* This source code was highlighted with Source Code Highlighter.

Примерно вот-так.
p.s. Понимаю, что так не совсем чесно, и что присвоение на самом деле происходит где-то глубоко в Ninject, исходников какого у Решарпера нет, но все-же :)
Будет в 6.0 или 5.5 работать Find Usages на скомпилированном коде, будут и присвоения внутри библиотек показываться. Но в любом случае, решарпер никогда не сможет отслеживать вызовы через Reflection, просто потому, что это динамическое связывание и для его обработки надо запускать программу :)

Опять же, вас обычно уровень, на котором вы инжектиреуете не очень интересует. Интересно как ходят данные в сложных алгоритмах, а то что вы добрались до kernel.Get — уже достаточно. Далее вы берете в руки другую тулзу и разбираете ужаснейшые конфиги, или аттриюуты в вашем случае и со временем приходите к выводу, что Ninject — зло :)))
Ну задача состояла в том, чтобы что-то поломать :) Вроде удалось)
Относительно того, что Ninject — зло… это как у Черчилля — «демократия — худшая форма правления, если не считать всех остальных»
Sign up to leave a comment.

Articles