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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> использование List<T> 
:(
    Опции темы
MFSham
Дата 10.12.2007, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 28.8.2005
Где: Беларусь, Гродно

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



Есть похожие куски кода. Например:
Код

public List<ClassNames> GetClassNamesList() {
            List<ClassNames> names;            
            // ...
            return names;
        }

public List<Subjects> GetSubjectsList() {
            List<Subjects> subjects;
            // ...
            return subjects;
        }

public List<DaysOfWeek> GetDaysList() {
            List<DaysOfWeek> days;          
            // ...
            return days;
        }

где ClassNames, Subjects, DaysOfWeek определенные классы.

Все эти методы реализованы одинаково, т.е. идет дублирование кода. Естественно хочется этого избежать smile

Т.е. что-то вроде этого:
Код

public List<???> GetList(SomeType obj){
       // ...
      }


Вот и думаю как smile Думал в enum загнать все типы которые нужны, а потом доставать по индексу нужный тип, т.е. что-то вроде:
Код

enum ClassTypes{
      ClassNames = 1;
      Subjects,
      DaysOfWeek 
}

// и что-то вроде этого
public List<???> GetList(ClassTypes index){
     // ...
     return List<???>;
}

Но как указать вовращаемый тип =\

Может кто чего подскажет?
--------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны.
PM MAIL   Вверх
QryStaL
Дата 10.12.2007, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


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

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



Так не покатит?

Код

public List<T> GetListOf<T>()
{
    // ...
}



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


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 10.12.2006
Где: минск, столица на шей Родины

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



обычно если несколько классов имеют методы, выполняющие схожие задачи, то для них создают базовый класс с какимто виртуальным методом.
после этого используй list<BaseType> и все намного упрощаеться.

а вообще я не увидел в твоем коде ничего такого особенного, чтобы использовать такие методы, посмотри получше, может есть возможность юзать просто List<object>
--------------------
Эпитафия: Он старался.                                   Неизвестный
PM MAIL   Вверх
MFSham
Дата 10.12.2007, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 28.8.2005
Где: Беларусь, Гродно

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



Цитата(fantast @  10.12.2007,  17:20 Найти цитируемый пост)
а вообще я не увидел в твоем коде ничего такого особенного, чтобы использовать такие методы, посмотри получше, может есть возможность юзать просто List<object>

Возможность есть, но как-то не очень хочется юзать object =\
--------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны.
PM MAIL   Вверх
MFSham
Дата 10.12.2007, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 28.8.2005
Где: Беларусь, Гродно

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



QryStaL, спасибо. То что надо ;)
--------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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