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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> создание метода 
V
    Опции темы
uranpro
  Дата 24.12.2009, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 571
Регистрация: 7.5.2008
Где: Moscow city

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



Добрый день!
нужно создать что-то вроде такого:
Код

        private string Val[string Idx]
        {
            get { return GetSession()[Idx].ToString(); }
            set { GetSession()[Idx] = value; }
        }


подскажите, очень нужно! голова не работает =(

Это сообщение отредактировал(а) uranpro - 24.12.2009, 18:11


--------------------
I want a perfect soul
PM MAIL ICQ   Вверх
KuMa1104
Дата 24.12.2009, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

public int this[int index]
{
get
{
return _theValur[index];
}
set
{
_theValur[index] = value;
}
}


Добавлено через 1 минуту и 15 секунд
как видите можно обявить только 1 индексатор


--------------------
Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце.

Время - штука относительная... а время обеда - ещё более относительная
PM MAIL   Вверх
ДобренькийПапаша
Дата 24.12.2009, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

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



Кто-нибудь поясните, пожалуйста эту конструкцию:

Код

public int this[int index]
{
get
{
return _theValur[index];
}
set
{
_theValur[index] = value;
}
}


Лучше пояснить маленьким, но целостным примерчиком. Спасибо.


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
uranpro
Дата 24.12.2009, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 571
Регистрация: 7.5.2008
Где: Moscow city

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



KuMa1104, Спасибо! получилось так:
Код

    public static class phiSession
    {

        private static HttpSessionState GetSession()
        {
            return HttpContext.Current.Session;
        }

        public static string this[string Idx]
        {
            get { return GetSession()[Idx] as string; }
            set { GetSession()[Idx] = value; }
        }
    }

только я не могу к нему обратиться =( не понимаю


ДобренькийПапаша, +1


--------------------
I want a perfect soul
PM MAIL ICQ   Вверх
tol05
Дата 25.12.2009, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



uranpro, зачем все это?

Во-первых, зачем private метод, который обращается к общедоступному хранилищу?! Что он пытается скрыть и от кого? 
Если любой метод любого объекта любого потока может спокойно обратиться к тому же самому HttpContext.Current.Session и сделать с ним все, что угодно?

не проще уже тогда так писать
Код

public class phiSession
    {
        public string this[string Idx]
        {
            get { return HttpContext.Current.Session[Idx] as string; }
            set { HttpContext.Current.Session[Idx] = value; }
        }
    }


Что Вы вообще хотите получить?



Это сообщение отредактировал(а) tol05 - 25.12.2009, 00:13


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
Экскалупатор
Дата 25.12.2009, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

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



все я догнал...

Это сообщение отредактировал(а) Экскалупатор - 25.12.2009, 01:19
PM MAIL ICQ   Вверх
tol05
Дата 25.12.2009, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



кажется я понял что хотел автор. Создать фасад для обращения к сессии (и, может быть, еще чего-то)

синглетон
Код

public class phiSession
{
    private phiSession(){}

    public static phiSession Instance = new phiSession();

    public string this[string Idx]
    {
        get { return HttpContext.Current.Session[Idx] as string; }
        set { HttpContext.Current.Session[Idx] = value; }
    }
}
обращаться так
Код

phiSession.Instance["1"] = "1";
phiSession.Instance["2"] = "2";

string s1 = phiSession.Instance["1"];
string s2 = phiSession.Instance["2"];



--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
uranpro
Дата 25.12.2009, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 571
Регистрация: 7.5.2008
Где: Moscow city

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



Цитата(tol05 @  25.12.2009,  09:31 Найти цитируемый пост)
Создать фасад для обращения к сессии

да, большое спасибо!  smile 


--------------------
I want a perfect soul
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

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


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

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


 




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


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

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