Встроеные атрибуты.
Атрибут Serializable Чтобы посмотреть, как применение атрибутов в C# выглядит на практике, создадим новое консольное приложение. Предположим, что требуется…
Атрибут Serializable Чтобы посмотреть, как применение атрибутов в C# выглядит на практике, создадим новое консольное приложение. Предположим, что требуется…
В C# разрешается вводить в программу информацию декларативного характера в форме атрибута, с помощью которого определяются дополнительные сведения (метаданные),…
Поздним связыванием (late binding) называется технология, которая позволяет создавать экземпляр определенного типа и вызывать его члены во время выполнения…
При поиске внешних сборок, на которые ссылается текущая сборка, CLR-среда заглядывает в манифест сборки. Во многих случаях необходимо, чтобы…
При вызове Type.GetType() для получения описаний метаданных обобщенных типов должен обязательно применяться специальный синтаксис в виде символа обратной одинарной…
В предыдущей статье мы рассмотрели пример использования рефлексии методов, таким же образом можно получить информацию о полях, свойствах и…
С помощью методов и свойств класса Type можно получить подробные сведения о типе данных во время выполнения программы. Это…
В мире .NET рефлексией (reflection) называется процесс обнаружения типов во время выполнения. С применением служб рефлексии те же самые…
Динамическая идентификация типов (RTTI) позволяет определить тип объекта во время выполнения программы. Она оказывается полезной по целому ряду причин….
Возможность полностью описывать типы (классы, интерфейсы, структуры, перечисления и делегаты) с помощью метаданных является одной из ключевых в платформе…
Сборка является неотъемлемой частью программирования на C#. Она представляет собой один или несколько файлов, содержащих все необходимые сведения о…
В C# определен ряд директив препроцессора, оказывающих влияние на интерпретацию исходного кода программы компилятором. Эти директивы определяют порядок интерпретации…
Элемент <codebase> В конфигурационных файлах приложений с помощью элемента <codeBase> можно указывать так называемые кодовые базы. Этот элемент заставляет…
Следующим моментом, который мы рассмотрим относительно конфигурирования сборок, является роль так называемых сборок политик издателя (publisher policy assemblies). За…
Как и приватные сборки, разделяемые сборки можно конфигурировать за счет добавления в клиентское приложение файла *.config. Разумеется, поскольку разделяемые…
Установка сборок со строгими именами в GAC Предпочитаемым способом для развертывания сборок в GAC в производственной среде является создание…
Подобно приватной сборке, любая разделяемая сборка представляет собой коллекцию типов и (необязательно) ресурсов. Самое очевидное отличие между разделяемой и…
Приватные сборки должны всегда размещаться в том же каталоге, что и клиентское приложение, в котором они используются (т.е. в…
Многофайловая сборка – это коллекция взаимосвязанных модулей, которые развертываются и снабжаются версией в виде цельной логической единицы. В IDE-среде…
Исследование манифеста Прежде чем переходить к использованию библиотеки в клиентском приложении, давайте сначала посмотрим, как она устроена изнутри. Для…