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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Глобальный указатель 
V
    Опции темы
ilya_cska
Дата 13.4.2008, 05:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Создаю Form Application c несколькими формами. Есть отдельный public class MyConnect 
Я могу создать для одной формы, например
Код

MyConnect qwe = new MyConnect();

Как создать один глобальный указатель на этот класс(для всех форм)?
PM MAIL   Вверх
mr.DUDA
Дата 13.4.2008, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Код
class MyConnect
{
    public static MyConnect ГлобальныйУказатель = new MyConnect();
}

...

public class Form1 : Form
{
    public void СделайЧтоНибудь()
    {
        MyConnect.ГлобальныйУказатель.ЧтоНибудь();
    }
}



--------------------
user posted image
PM MAIL WWW   Вверх
jonie
Дата 13.4.2008, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

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



зовется этот паттерн singleton - гугл найдет массу примеров.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
firstone
Дата 13.4.2008, 14:03 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 25.9.2007
Где: Кровью залитая Св ятая Земля

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



Цитата(jonie @  13.4.2008,  13:59 Найти цитируемый пост)
зовется этот паттерн singleton - гугл найдет массу примеров.


Наличие только static-поля не превращает класс в singleton. 

Это сообщение отредактировал(а) firstone - 13.4.2008, 14:06
--------------------
В программировании я конфуцианец. В жизни я либерал-демократ. В душе я буддист.Добавлено через 1 минуту и 9 секундА на самом деле я лентяй.
PM MAIL   Вверх
INHazeR
Дата 13.4.2008, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

public class MyConnect
{
    MyConnect singleton = null;

    private MyConnect() // конструктор закрыт!
{

}

public MyConnect CreateNewMyConnect()
{
 if (singleton == null)
singleton = new MyConnect();
return singleton;
}

}


вот это - синглтон.
но тут можно и без него обойтись. пользуйтесь статическим классом, вот и все.

Это сообщение отредактировал(а) INHazeR - 13.4.2008, 16:17
PM MAIL   Вверх
QryStaL
Дата 13.4.2008, 16:52 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


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

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



INHazeR, во-первых, было бы неплохо выровнять код. Во-вторых, работать оно не будет.
Вот правильный пример

Код

public class MyConnect    
{    
    private static MyConnect singleton = null;    
    public static MyConnect CreateNewMyConnect()    
    {    
        if (singleton == null)
        {
            singleton = new MyConnect();
        }
        return singleton;    
    }
    private MyConnect() // конструктор закрыт!    
    {    
    }    
}


Но тут он, как правильно уже заметили, не нужен. =)


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
jonie
Дата 13.4.2008, 19:38 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

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



а ну , да конечно.. то что чел описал "не синглетон"...
"а мужики-то и не знали"....

Цитата

Но тут он, как правильно уже заметили, не нужен. =)
руки, наверно, отшибут, если будешь использовать...(табу).

c# съел вам моск.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
QryStaL
Дата 13.4.2008, 20:11 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


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

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



jonie, к чему весь этот сарказм? Если есть что сказать по делу - скажите, а то толку от вашего поста - ноль.

Цитата(jonie @  13.4.2008,  19:38 Найти цитируемый пост)
c# съел вам моск.

 smile Высокомерия вам не занимать.

Это сообщение отредактировал(а) QryStaL - 13.4.2008, 20:11


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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