Архив рубрики "Утилитарные классы"

Собственная очередь событий: EventQueue<T> (2009-6-22)

В ряде задач требуется, чтобы события вызывались строго последовательно, а не каскадно, как в классической реализации. Каскадность заключается в том, что, если в обработчике какого-либо события встретится вызов другого (или того же, не принципиально) события, то, собственно, обработка первого события прервется до завершения работы обработчика второго события. Это абсолютно нормальное и всех устраивающее поведение в […]

Параллельные вычисления: класс MultiThread (2009-6-19)

Современные персональные компьютеры стали многопроцессорными (и/или многоядерными), это — факт! Пока еще не вышел .NET Framework 4.0 и C# 4.0, в котором заявлена поддержка многопоточности, и поэтому программисты, как правило, никак не используют параллельность в своих вычислительных программах. Характерно, что активно вычисляющая программа грузит процессор лишь на 50% (на 2-ядерной машине) или на 25% (на […]

PathOperations: заимствовано из VB.NET (2009-6-18)

Не знаю почему, но часть функционала, который мог бы быть полезен и пишущим на C#, досталась только одному VB.NET. По крайней мере, статические методы, приведенные мной ниже и предназначенные для работы с файловыми путями, изначально располагались в пространстве имен Microsoft.VisualBasic, а именно — в классе Microsoft.VisualBasic.FileIO.FileSystem.

Методы Between<T> (2009-6-11)

Не секрет, что почти в каждой программе, оперирующей с числовой информацией, приходится производить проверку принадлежности различных значений допустимым интервалам. Зачастую, такие выражения в операторах сравнения имеют довольно громоздкий вид, например: