Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

Всем привет! Вопрос про Обобщения в 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 Кб, 13 просмотров)
helpkz вне форума Ответить с цитированием
Старый 27.07.2020, 14:59   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

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

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

В общем так и сделал:
Код:
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 Кб, 9 просмотров)
helpkz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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