Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> глобальные классы? экземпляры класса 
:(
    Опции темы
BftS
Дата 12.10.2009, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 2.10.2009

Репутация: нет
Всего: нет



В приложении есть 3 класса.
1) Program - содержит функцию main 
2) Options - Класс содержащий 2 метода(get & load) Где, load загружает файл с настройками и парсит его в массив, а get возвращает значение определенного параметра
3) Some  -  некоторый иной класс.

Цель - получить настройки в функциях классов Program и Some.
Код

Options opt= new Options();
opt.load();
int r=opt.get("parms");
 
и такое разместить во всех функциях, где нужны настройки.(parms -  название получаемого параметра)
--- Собственно так все работает, НО
Хотелось бы что бы файл с настройками вызывался только однажды, а не каждый раз(.load() вызывается только при старте программы)

1) Где и как создавать экземпляр Options чтобы его можно было сделать "глобальным" - доступным во всех функциях, всех классов.
2) Как обращаться(вызывать) его?
PM MAIL   Вверх
Ram1reS
Дата 12.10.2009, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 25.4.2008
Где: Москва

Репутация: 3
Всего: 5



Во-первых, для настроек придуман app.config - смотрите Project->Project options->Settings.
Во-вторых, кому мало - курим ConfigurationSection и иже с ним.
Это даст возможность дергать параметры через статический класс Settings.
Если хотите сделать все по-своему - объявляйте класс с настройками как static, тогда не надо будет постоянно создавать новый экземпляр.

Типа того:
Код

public static class MySettings
{
    public static int a;
    public static string s;
    public static SomeClass c;
    MySettings()
    {
        LoadSettings();
    }
    
    private static void LoadSettings()
    {
    // load some settings
    }
}
////////
public static void Main()
{
    Console.WriteLine(MySettings.a);
}


Это сообщение отредактировал(а) Ram1reS - 12.10.2009, 22:52
--------------------
 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.1032 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.