Имя Пароль
Зарегистрироваться


* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Установка и извлечение динамических свойств вручную
8 февраля 2009

Иногда требуется сделать динамическим свойство объекта, который не относится к
элементам пользовательского интерфейса. Рассмотрим класс, экземпляр которого
создается во время выполнения. При этом ряд свойств нового объекта требуется
инициализировать значениями, зависящими от внешних факторов. В данном слу-
чае необходимые значения можно задать через конфигурационный файл и динами-
чески извлекать их во время выполнения при помощи класса AppSettingsReader.
Класс Арр Settings Reader определен в пространстве имен System.Configuration и
применяется для извлечения из конфигурационного файла значений с заданным
ключом. Главный метод этого класса — GetValue. Он принимает как параметры
строку ключа и тип извлекаемого объекта. Хотя тип извлекаемого объекта опреде-
ляется вторым параметром, этот метод возвращает значение типа Object, поэтому
его необходимо явно преобразовать в требуемый тип. Вот пример, демонстрирую-
щий установку свойства Text гипотетического объекта Widget с помощью класса
AppSettings Reader.
Visual Basic .NET
' Создать объект AppSettingsReader.
Dim myReader As New System.Configuration.AppSettingsReader()
1 Создать объект Widget.
Dim myWidget As New Widgetf)
' Извлечь значение динамического свойства с ключом DynamicWidget.Text
и типом String и получить результат, преобразовав возвращенный Object
' в String при помощи функции СТуре.
•nyWidget.Text - CType(myReader.GetValue("DynamicWidget.Text".
GetTypefSystem.String)}, String)
Visual C#
// Создать объект AppSettingsReader.
System.Configuration.AppSettingsReader myReader = new
System. Configu ration. AppSettingsReaderf);
// Создать объект Widget.
Wirjget myWidget = new WidgetO;
// Извлечь значение динамического свойства с ключом DynamicWidget.Text
// и типом String и получить результат, преобразовав возвращенный Object
// в String при помощи функции СТуре.
myWidget.Text - myReader.GetValue("DynamicWidget.Text",
typeof(System.String)).ToString():
При попытке чтения из конфигурационного файла значения с несуществующим
ключом генерируется исключение Invalid Operation Exception.
Чтобы извлечь данные из конфигурационного файла во время выполнения, не-
обходимо добавить к нему все необходимые элементы во время выполнения. Эти
элементы заключаются в тэг <appSettings> и состоят из тэга <add> с парой «ключ —
значение*. Вот как добавить элемент значения в конфигурационный файл:
<appSettings>
<!-- Сюда помещают параметры приложения, определяемые
пользователем.-->
<!-- Вот пример: <add Кеу="ключ" уа1ие="значение_свойства"/> -->
<add key="Widget.Visible" value="True" />
<add key-"Widget.Text" value-"! love my Widget!" />
</appSettings>
^ Как вручную извлечь данные из конфигурационного файла
1. Создайте экземпляр класса System. Configuration. AppSettings Reader.
2. Вызовите метод AppSetiingsReader.GelValue, чтобы извлечь значение с заданным
ключом.
3. Преобразуйте объект, возвращаемый методом AppSettings Reader. Get Value, в тре-
буемый тип.
>• Как вручную записать данные в конфигурационный файл
1. Откройте конфигурационный файл приложения в Блокноте или другом тексто-
вом редакторе.
2. Найдите тэг <appSettings>; если он отсутствует, определите его внутри элемента
<configuration>.
3. Добавьте к <appSettings> элемент <add> с атрибутами ключа и значения, как по-
казано ниже:
<add key="Widget1.Text" value="My Widget">
4. Сохраните и закройте конфигурационный файл.

Теги: .NET

Статьи по теме:

Графический дизайнер
Реализация полиморфизма через интерфейсы
Обзор .NET Framework
Создание элемента управления
Работа с мастером Data Form
Перебор элементов массивов и наборов
Вложенные типы
Решения .NET
Развертывание проекта
Применение XML с объектами DataSet
Языки программирования .NET
Архитектура данных ADO.NET
Создание перегруженных методов
Работа с фокусом ввода
Объекты и члены
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30


     



Rambler's Top100

Данный сайт или домен продается ICQ: 403-353-727

© 2009 Seoliga.ru | .NET | Установка и извлечение динамических свойств вручную. Регион сайта: Москва и Санкт-Петербург