Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Коллекции / 4 сообщений из 4, страница 1 из 1
25.06.2014, 12:13
    #38679547
VIT2708
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Коллекции
Есть много классов Class1, Class2, Class3 .....

У каждого из них есть поле
Код: c#
1.
int TypeId {get; set;}

другие поля не совпадают

Что бы не плодить кучу коллекций, сделал так

Код: c#
1.
2.
3.
4.
class TestCollection<T> : List<T> where T : class
{

}



Так вот, подскажите как можна в TestCollection<T> вставить функцию такого вида

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
class TestCollection<T> : List<T> where T : class
{
 T GetClass(int typeId)
 {
    foreach(var t in this)
    {
      if (t.TypeId == typeId)
      {
      //
      }
    }
 }
}
...
Рейтинг: 0 / 0
25.06.2014, 12:21
    #38679565
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Коллекции
VIT2708,

а просто общий интерфейс у всех классов реализовать?

Код: c#
1.
2.
3.
interface IMyType{
 int TypeId {get; set;}
}


Код: sql
1.
List<IMyType>
...
Рейтинг: 0 / 0
25.06.2014, 12:24
    #38679569
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Коллекции
VIT2708,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public interface ITypedClass
{
    int TypeId { get; }
}

public class Class1 : ITypedClass ...
public class Class2 : ITypedClass ...
public class Class3 : ITypedClass ...

var collection = new List<ITypedClass>();

...

var selectTypedClass = collection.FirstOrDefault(p => p.TypeId == 1);



думаю можно обойтись без страданий со своей коллекцией
...
Рейтинг: 0 / 0
25.06.2014, 12:32
    #38679583
VIT2708
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Коллекции
Изопропил,

Ни как не могу привыкнуть использовать интерфейсы

Спасибо.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Коллекции / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]