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


* При перепечатке материалов ссылка на 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

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

Замещение членов базового класса в Visual Basic .NET
Создание типизированного объекта DataSet с помощью XML Designer
Преобразование типов
Всё новое - это хорошо забытое старое
Пространства имен System.Drawing
Свойства BackColor, ForeColor и Text
Графический дизайнер
Принципы дизайна интерфейса
Автоматизация разработки
Наследование от абстрактного класса
Проверка на уровне формы
Применение типов данных
Применение встроенной функциональности типов данных
Managed Control Panel Items
Интерфейсы как средство достижения полиморфизма
| .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 | Установка и извлечение динамических свойств вручную. Регион сайта: Москва и Санкт-Петербург