Программирование arrow .NET Framework arrow Расширение набора базовых классов .NET Framework

Расширение набора базовых классов .NET Framework

Оглавление

Рассмотрим некоторые проблемы, возникающие при разработке прикладных приложений, которые могут успешно решаться путем использования AcedUtils.

Работа с реестром Windows

Для сохранения параметров конфигурации во многих случаях целесообразно использование реестра Windows. В этом случае можно воспользоваться классом AcedConfiguration.

Например, если в ключе реестра HKEY_CURRENT_USER\Software\Company\Data необходимо хранить наименование организации (OrganizationName типа String) и номер подразделения (DepartmentID типа Int32), это можно сделать методами SaveConfig(), LoadConfig():

private const string
DataRegistryKey = "Software\\Company\\Data";
OrganizationNameValue = "OrganizationName";
DepartmentIDValue = "DepartmentID";
internal static string OrganizationName = "";
internal static int DepartmentID = 0;
internal static void LoadConfig()
{
using (Aced.AcedConfiguration config =
new Aced.AcedConfiguration(true, DataRegistryKey, false))
{
config.Get(OrganizationNameValue, ref OrganizationName);
config.Get(DepartmentIDValue, ref DepartmentID);
}
}
internal static void SaveConfig()
{
using (Aced.AcedConfiguration config =
new Aced.AcedConfiguration(true, DataRegistryKey, true))
{
config.Put(OrganizationNameValue, OrganizationName);
config.Put(DepartmentIDValue, DepartmentID);
}
}

Конструктор класса AcedConfiguration принимает три параметра: первый - выбирает ветвь реестра: HKEY_CURRENT_USER (если True) или HKEY_LOCAL_MACHINE (если False), второй - задает наименование ключа реестра, третий - определяет режим работы, т.е. чтение или запись в реестр. Методы Get(), Put() класса AcedConfiguration позволяют помещать и считывать из реестра данные в различном виде: строки, числа, даты, и т.д.


 
« Предыдущая статья   Следующая статья »


  • .NET Framework, Оптимизация сериализации в .NET
    Приводятся код и методы, позволяющие разработчикам оптимизировать сериализацию данных....
  • .NET Framework, Плавающая точка в .NET - часть 1: принципы и форматы
    Данная статья представит основные принципы арифметических операций с плавающей точкой: числовые форматы, точности и достоверность, погрешности округления. Также в статью включено обсуждение типов плавающей запятой в .NET....
  • .NET Framework, JIT-оптимизации
    Компилятор .NET Just-In-Time Compiler (JIT) считается многими одним из основных преимуществ производительности CLR по сравнению с JVM и другими управляемыми средами, которые используют двоичный код, скомпилированный компилятором JIT. ...
  • .NET Framework, Инъекции CLR: замена методов во время выполнения
    Многие из нас, наверняка, были заинтересованы в том, как работает универсальный язык CLR. Одной из наиболее интересных вещей является динамический компилятор JIT (Just In Time Compiler). Мы рассмотрим то, как JIT компилирует MSIL и создадим утилиту, которая позволяет программным образом заменить любой метод (JIT) другим во время выполнения. Мы также создадим отладочную утилиту, которая прехватывает JIT-вызовы и выводит в консоль информацию о диагноcnbrt....
  • .NET Framework, Оптимизация запуска приложений .NET
    Ждать, пока приложение запустится, неприятно для многих пользователей, поэтому ускорение запуска приложений клиентов может значительно улучшить первое впечатление от вашей работы. И так как скорость запуска имеет значение, следует знать факторы, которые на нее влияют, чтобы избежать распространенных ошибок....
  • .NET Framework, Создание компилятора языка для .NET Framework
    Эксперты по компиляторам являются знаменитостями в компьютерном мире. Я видел, как Андерс Хейльсберг (Anders Hejlsberg) представлял презентацию на конференции разработчиков Professional Developers Conference и когда он сошел со сцены, его встретила целая орда мужчин и женщин, просящих поставить автограф на книгу, или сняться на фотографии вместе с ними. Люди, посвящающие свое время изучению и пониманию всех тонкостей лямбда-выражений, систем типов и языков сборки, кажутся своего рода носителями ...
  • .NET Framework, Маршалинг данных между управляемым и неуправляемым кодом
    Посмотрим правде в глаза: нет в мире совершенства. Мало кто при разработке использует только управляемый код. А между тем, тяжким грузом лежат устаревшие неуправляемые приложения, с которыми приходится мириться. Есть ли способ интегрировать проекты, в которых задействован как управляемый, так и неуправляемый код? Какой вид принимает этот способ: вызов неуправляемого кода из управляемого приложения или вызов управляемого кода из неуправляемого приложения?...
  • .NET Framework, IronPython как движок для макросов в .NET приложениях
    Подозреваю, многие из вас задумывались — как можно в .NET приложение добавить поддержку макросов — чтобы можно было расширять возможности программы без ее перекомпиляции и предоставить сторонним разработчикам возможность легко и просто получить доступ к API вашего приложения? В статье рассмотрено, как в качестве основы для выполнения макросов использовать IronPython — реализацию языка Python на платформе .NET....