• Declarative HTML Helpers

      @functions @helpers


      Большинство хелперов в asp.net mvc 3 это методы-расширения класса System.Web.Mvc.HtmlHelper.
      Однако не всегда удобно создавать отдельный статический класс для 2-3 хелперов необходимых в одной вьюшке. И совсем неудобно создавать хелперы возвращающие большие блоки html-кода: ни подсветки синтаксиса, ни интеллисенса, ни прочих плюшек.

      Для решения этих проблем в Razor есть два замечательных блока. Они позволяют создавать хелперы непосредственно в .cshtml-файлах.

      image
      Круто! но зачем это нужно?
    • Snoop — просмотр VisualTree WPF-приложений

        Уже почти год пользую одну замечательную опенсорсную утилиту для отладки WPF-приложений.
        Snoop (не самое информативное название для программы) позволяет посмотреть VisualTree WPF приложения.

        Вообще возможностей у тулзы немного и рассказ будет коротким, но она просто незаменима при отладке. Позволяет не только понять где и какой Margin/Padding пагубно влияет на положение элемента, но и поможет разобраться с логикой построения элементов управления в wpf.

        Главное окно программы
        image
        посмотреть что умеет Snoop
      • Вычисление значения выражения

          В продолжение поста Компилятор выражений. По просьбам читающих. Специально для michurin

          Есть много способов вычислить значение выражения мне больше всего нравится метод с двумя стеками.
          Нравится за его элегантность и простоту реализации.

          Суть метода 2х стеков (наверняка у него есть красивое научное название.) заключается в том, что любое сложно выражение, в конечном счете, сводится к последовательности простых операций. В нашем случае это будет бинарная операция над операндами A и В.

          Мы будем идти слева на право, добавляя операнды в один стек, а операции в другой. При каждом добавлении новой операции мы будем пытаться вытолкнуть из стека старые, руководствуясь приоритетами операций.
          Читать дальше →