C#: рефлексия и Expression Trees на практике

Практический курс о рефлексии и Expression Trees в .NET. Вы научитесь исследовать типы, конструкторы и атрибуты, создавать объекты по метаданным, строить, компилировать и изменять деревья выражений. На практике создадите валидатор, делегаты для чтения и записи свойств и учебный Service Locator, а затем сравните…
Средний уровень
4
Сертификат Stepik

Чему вы научитесь

  • читать метаданные типов, методов, свойств, конструкторов и атрибутов
  • находить нужные члены типа с помощью Type, MemberInfo и BindingFlags
  • создавать экземпляры типов, известных только во время выполнения
  • создавать пользовательские атрибуты и строить на них правила валидации
  • строить, компилировать и изменять Expression Trees
  • применять ExpressionVisitor для преобразования деревьев выражений
  • создавать делегаты для чтения и записи свойств
  • сравнивать прямой доступ, рефлексию и скомпилированные делегаты с BenchmarkDotNet
  • реализовать учебный Service Locator и исследовать зависимости конструкторов

О курсе

Рефлексия и Expression Trees используются внутри многих ORM, сериализаторов, тестовых фреймворков и контейнеров зависимостей. Они дают гибкость, но без понимания метаданных, накладных расходов и ограничений быстро превращаются в «магию». Этот курс поможет разобрать механизмы по частям и научиться применять их осознанно.

Вы начнёте с Type, MemberInfo, BindingFlags и ConstructorInfo: научитесь исследовать типы и их члены, читать атрибуты и создавать объекты по известному во время выполнения Type. Затем перейдёте к Expression Trees — построению выражений, вызовам методов, условиям, блокам, присваиваниям, ExpressionVisitor и компиляции деревьев в делегаты.

Теория сразу закрепляется кодом. В практических заданиях вы создадите валидатор на основе атрибутов, делегаты для чтения и записи свойств, преобразования деревьев выражений и минимальный Service Locator.

Service Locator используется как учебный кейс для работы с типами, конструкторами и зависимостями. Он не предлагается как замена встроенному DI-контейнеру .NET — в курсе отдельно разбираются ограничения такого подхода.

Курс находится в раннем доступе. Сейчас опубликована примерно треть программы: основы рефлексии, работа с типами и атрибутами, Expression Trees и минимальный Service Locator. Новые разделы будут добавляться поэтапно. Текущая цена учитывает ранний доступ и будет повышаться по мере наполнения курса.

В следующих обновлениях запланированы рекурсивная сборка графа зависимостей, работа со сборками и плагинами, Reflection.Emit, разбор IQueryable<T>, вопросы производительности и AOT, а также итоговый проект MiniDapper — учебная мини-ORM, вдохновлённая подходом Dapper.

Промокод UAREGOOD даёт скидку, успей активировать.

Для кого этот курс

Курс предназначен для C#/.NET-разработчиков, которые уже уверенно пишут прикладной код и хотят понять, что происходит «под капотом» библиотек и фреймворков. Основная аудитория — разработчики уровня junior+ и middle с опытом самостоятельной работы. Курс особенно полезен тем, кто сталкивается с маппингом, валидацией, сериализацией, DI или другим инфраструктурным кодом. Это не вводный курс по C#: базовый синтаксис и основы ООП здесь не разбираются.

Начальные требования

уверенное владение синтаксисом C# и основными принципами ООП
понимание обобщений, делегатов и лямбда-выражений
базовое знание LINQ
умение читать, запускать и отлаживать проекты .NET
предварительное знание рефлексии и Expression Trees не требуется

Наши преподаватели

Как проходит обучение

Курс полностью текстовый, без видео. Разделы состоят из коротких лекций с примерами кода, тестов и практических заданий. По материалам удобно искать, а примеры можно запускать и изменять — после прохождения курс можно использовать как справочник.

Жёстких дедлайнов нет: вы учитесь в удобном темпе. Сначала решаете задачу самостоятельно, а после успешной отправки можете сравнить свой вариант с авторским решением.

Для дополнительных экспериментов рекомендуется локальный .NET SDK и привычная IDE.

Программа курса

загружаем...
Certificate

Сертификат

Stepik

Отзывы прошедших курс

4
из 5
из 1 отзыва
1 отзыв
загружаем...

Что вы получаете

  • рост в собственном карьерном пути
  • навыки работы с рефлексией
  • сертификат

Сколько стоит обучение

Price: 199 
Вы попробовали и поняли, что вам сейчас не подходит этот курс? Ничего страшного, мы вернём вам деньги в течение 30-ти дней после покупки.

Часто задаваемые вопросы

Расскажите о курсе друзьям

Price: 199