Процедура
Процедура — это разновидность
подпрограммы. Обычно подпрограмма реализуется как процедура в двух случаях:
- когда подпрограмма не возвращает
в основную программу никаких данных. Например, вычерчивает график в диалоговом
окне;
- когда подпрограмма возвращает
в вызвавшую ее программу больше чем одно значение. Например, подпрограмма,
которая решает квадратное уравнение, должна вернуть в вызвавшую ее программу
два дробных числа — корни уравнения.
Сегодня ночью вернулся из Москвы, где я посетил сразу три конференции — SQA,
PM Days и PHPconf. На конференции прозвучала масса интересных докладов, о
которых наверняка еще не раз напишут, я же хочу поделиться некоторыми забавными
наблюдениями. В перерывах между докладами все присутствующие могли выйти в холл,
где их ожидали вкусные плюшки, молоко, чай и кофе. Для последнего на столах
установили пять термосов. Разумеется для более чем двухсот участников
конференции их было явно недостаточно и на каждой конференции эту проблему
решали по своему, как умели.
Что же, попробуем раскрыть принципы работы этой новой технологии от Microsoft.
В некоторых частях .NET Framework, таких как XmlSerializer, используется внутреннее динамическое создание кода.XmlSerializer создает временные файлы C#, компилирует результирующие файлы во временную сборку и затем загружает эту сборку в процесс. Такое создание кода тоже стоит сравнительно дорого, поэтому XmlSerializer размещает временные сборки в кэш, по одной на каждый тип. Это значит, что в следующий раз при создании кода XmlSerializer для класса Х не будет создаваться новая сборка, а будет использована сборка из кэша. Однако, не все так просто.