Статья:
Алексей Дубовцев. Microsoft .NET в подлинникеАвтор(ы): Алексей Дубовцев
Рассмотрены теоретические основы и практические приемы программирования на
платформе .NET с использованием популярных языков: C#, VB.NET, MC++, IL.
Описаны метаданные, общая система типов, сборки, архитектура доменов,
атрибуты и др. На большом количестве простых и понятных примеров
рассмотрены обработка исключений, делегаты и события, потоки и др. Дано
подробное представление низкоуровневого взаимодействия с операционной
системой из среды .NET. Прилагается компакт-диск, содержащий большое
количество примеров на языках C#, VB.NET, MC++, IL.
Авторы:
Алексей Кирюшкин
Аннотация:
Рассмотрены теоретические основы и практические приемы программирования на платформе .NET с использованием популярных языков: C#, VB.NET, MC++, IL. Описаны метаданные, общая система типов, сборки, архитектура доменов, атрибуты и др. На большом количестве простых и понятных примеров рассмотрены обработка исключений, делегаты и события, потоки и др. Дано подробное представление низкоуровневого взаимодействия с операционной системой из среды .NET. Прилагается компакт-диск, содержащий большое количество примеров на языках C#, VB.NET, MC++, IL.
Кстати в этой книжке есть неточности и довольно значительные. Например сказано что MemberwiseClone использует reflection для клонирования объекта. Хочется узнать, откуда у автора такие сведения... Это не правильно — MemberwiseClone реализовано на C++ в виртуальной машине NET. Ее реализацию можно посмотреть в SSCLI в файле sscli\clr\src\vm\comobject.cpp, метод ObjectNative::Clone. Там просто выделяется место под объект и копируются его данные с момощью memcpy. Правда потом правятся указатели на ref типы. Но это не reflection. Не думаю что в коммерческой виртуальной машине медленне. А функция то очень быстрая и полезнаяя...
Здравствуйте,
в главе "4.4 Политика версий для строго именованных сборок" описано о политике для основной и дополнительной частях версий,
не совсем понятно, кто эту политику реализует? или это просто рекомендация к своим реализациям...
Когда читал эту книгу, года полтора назад, в голове отложилось, что это все происходит автоматом при загрузке сборок, т.е. если мы сменили в дллке со строгим именем билд или ревижн часть версии, то ее можно спокойно подсовывать в систему, где использовалась ее более ранняя версия.
А теперь вдруг обнаружил, что малость заблуждался
Может так было в ранних верчиях дотнета? Или просто в этой главе имеется ввиду другое?