Pull to refresh
1
Евгений Ващенко@VasEug

Software Developer (C#, SQL)

Send message

.NET Reflection. Упрощаем работу и используем в тестировании

Level of difficultyHard
Reading time28 min
Reach and readers12K

В данной статье хочу немного рассказать о классе Reflector, который был написан для облегчения работы с объектами и методами предоставляемыми.NET Reflection API из пространства имен System.Reflection. Отражение позволяет выполнять задачи по исследованию сборок, типов, интерфейсов, методов с их параметрами, полей, свойств и событий путем получения информации, описывающей их структуру. Эта информация хранится в метаданных сборки и получить ее можно, используя предназначенные для этого объекты и методы API отражения. Она может потребоваться как просто для получения метаданных об интересуемых объектах, так и для генерации используемого их кода в момент работы приложения либо через сам Reflection API из пространства имен System.Reflection.Emit, либо через API LINQ Expressions из пространства имен System.Linq.Expressions. В данной статье мы не будем касаться генерации кода, а рассмотрим другую возможность, которую предоставляет отражение — это доступ к членам типов или к членам их экземпляров, вызов их методов и активацию событий.

Читать далее

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Десктоп разработчик, Бэкенд разработчик
Старший
C#
Алгоритмы и структуры данных
Entity framework
WPF
Windows Forms
Разработка программного обеспечения
Многопоточность
Проектирование баз данных
T-SQL
Linq