Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Наследование с обобщением / 1 сообщений из 1, страница 1 из 1
05.06.2013, 12:42
    #38286577
vindofs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование с обобщением
Добрый день!

Посоветуйте пожалуйста...
Есть класс, который парсит полученные данные

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
    
    public class OrdersLoadParser : ILoadParser<OrdersAlertItem>
    {
        public OrdersAlertItem ParceFrom(object item)
        {
            var dr = item as DataRow;
            if (dr == null || dr.GetType() != typeof(DataRow)) throw new ArgumentException("item");

            return new OrdersAlertItem(dr);
        }

        public Type GetAlertType()
        {
            return typeof(OrdersAlertItem);
        }
    }



ТАких парсеров будет около десятка.
Если бы можно было в сделать что-то подобное в констреинте обобщенного класса
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
    
    public class OrdersLoadParser<T> : ILoadParser<T> 
         where T: IAlertItem
         where : new(DataRow)
    {
        public T ParceFrom(object item)
        {
            var dr = item as DataRow;
            if (dr == null || dr.GetType() != typeof(DataRow)) throw new ArgumentException("item");

            return new T(dr);
        }

        public Type GetAlertType()
        {
            return typeof(T);
        }
    }



Не было бы проблем.
А так не хочется десяток однотипных классов реализовывать. Может есть какое архитетурное решение?
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Наследование с обобщением / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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