Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > .NET фреймворки > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 27.07.2020, 09:47   #1
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 157
По умолчанию Как сделать обобщенный метод

Всем привет! Вопрос про Обобщения в C#.
Имеются два класса:
Код:
public class Seller
{
public DateTime dateBirth { get; set; }
public string name { get; set; }

public Seller(string name, DateTime birth)
{
this.name = name;
this.dateBirth = birth;
}
}
public class Engineer
{
public DateTime dateBirth { get; set; }
public string name { get; set; }

public Engineer(string name, DateTime birth)
{
this.name = name;
this.dateBirth = birth;
}
}
Как мне сделать метод GetName, чтобы он принимал один из списков класса Seller или Engineer и возвращал отфильтрованный список?
Изображения
Тип файла: png Обобщения в C sharp.png (14.4 Кб, 12 просмотров)
helpkz вне форума Ответить с цитированием
Старый 27.07.2020, 14:59   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,557
По умолчанию

Ну самое простое это сделать интерфейс. И реализовать его в каждом классе.
А вообще непонятно чем классы друг от друга отличаются то?? Неправильно так делать.

Сделайте один базовый класс и у него будут общие свойства и затем уже селлер и инженер будут потомками от базового. Тогда и метод будет работать.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 27.07.2020, 18:06   #3
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 157
По умолчанию

В общем так и сделал:
Код:
public class Template
    {
        public DateTime dateBirth { get; set; }
        public string name { get; set; }
    }
Создал общий класс с полями, а те классы наследовал
Код:
public class Seller:Template
В методе прописал where T:<Название общего класса>.

Вообще там будут и другие поля, отличающиеся друг от друга. Но пока на этом все. Спасибо за ответ!
Изображения
Тип файла: png Обобщения в C sharp where T.png (3.4 Кб, 8 просмотров)
helpkz вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обобщенный класс для числовых типов, ошибка "Incorventible types" Admin2 Общие вопросы по Java, Java SE, Kotlin 0 29.04.2016 22:50
Метод галеркина. Сделать проверку GreenBull Помощь студентам 0 19.05.2013 13:22
Обобщенный поиск на графе, основанный на очереди с приоритетами djds Общие вопросы C/C++ 0 28.03.2011 21:51
обобщенный класс noname1 Помощь студентам 0 18.01.2011 18:03
Метод POST как мне сделать? Константин_VRN PHP 14 18.02.2009 16:19


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840