1 / 1 / 1
Регистрация: 28.05.2017
Сообщений: 98
1

Универсальные классы

08.12.2019, 12:42. Показов 1862. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, изучаю для себя что то новое и подошел к такому понятию как универсальный класс, принцип понял, но не понял как работать внутри с универсальными типами.
Допустим есть какой то класс описывающий человека и класс описывающий собаку. Есть универсальный класс с какимито методами и того имеем:
class People, class Dog, class Foo<T>;

Допустим передаю в класс Foo тип People но у этого класса свое описание отличное от Dog, как работать с таким передаваемым типом?, попытаться определить его as People или Dog? Тогда код внутри Foo разрастется. Везде примеры с int, string.

Добавлено через 7 минут
Доброго времени суток, изучаю для себя что то новое и подошел к такому понятию как универсальный класс, принцип понял, но не понял как работать внутри с универсальными типами.
Допустим есть какой то класс описывающий человека и класс описывающий собаку. Есть универсальный класс с какимито методами и того имеем:
class Person, class Student, class Foo<T>;

Допустим передаю в класс Foo тип Personно у этого класса свое описание отличное от Student, как работать с таким передаваемым типом?, попытаться определить его as Person или Student? Тогда код внутри Foo разрастется. Везде примеры с int, string.
Как внутри Foo создать элемент Student если в Foo передать тип Student

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Foo<T>
{
 
  public Foo()
  {
 
  }
 
  public T GenerateObject()
  {
      return new T()????; у Т нет такой реализации
  }
 
}
грубый пример.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2019, 12:42
Ответы с готовыми решениями:

Универсальные методы
Сделайте метод Method класса MyClass универсальным, принимающим один универсальный параметр типа T...

Универсальные шаблоны
Не могу понять задание) Помогите разобраться, чего они хотят) Создайте класс MyClass&lt;T&gt;,...

Универсальные шаблоны
Создайте класс MyList&lt;T&gt;. Реализуйте в простейшем приближении возможность использования его...

Универсальные переменные
Как прочесть универсальный элемент массива? class Massive&lt;M&gt; { public M mass { get;...

1
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
08.12.2019, 16:35 2
Лучший ответ Сообщение было отмечено SanekClass как решение

Решение

Цитата Сообщение от SanekClass Посмотреть сообщение
как работать внутри с универсальными типами.
Иногда вообще никак не работать, представьте себе как работает List<T>.
он ничего не умеет делать с вашими классами, он просто сохраняет ваши классы внутри себя и достает.
более умные коллекции попросят вас например передать им метод для сравнения T. То есть опять же сам класс ничего не придумывает, а использует переданный ему метод.

Цитата Сообщение от SanekClass Посмотреть сообщение
People но у этого класса свое описание отличное от Dog
какой же это тогда универсальный класс будет, если вы под каждый класс будете свой if писать?

Цитата Сообщение от SanekClass Посмотреть сообщение
как работать с таким передаваемым типом?
смотря в чем заключается работа

Цитата Сообщение от SanekClass Посмотреть сообщение
Везде примеры с int, string.
вы о чем? универсальный класс работает с T условно, откуда взялись инты всякие?

Цитата Сообщение от SanekClass Посмотреть сообщение
Допустим передаю в класс Foo тип Personно у этого класса свое описание отличное от Student,
скорее всего студент наследуется от person, тогда чтобы получить доступ к методам person надо написать
C#
1
class Foo<T> where T: Person
Цитата Сообщение от SanekClass Посмотреть сообщение
Как внутри Foo создать элемент Student если в Foo передать тип Student
C#
1
class Foo<T> where T: new()
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2019, 16:35
Помогаю со студенческими работами здесь

Универсальные шаблоны
Как исправить такую ошибку? Error 17 Operator '-' cannot be applied to operands of type 'T' and...

Универсальные шаблоны
Вот мой класс для представления граф, нужно переделать его с использование дженериков. Поясните,...

Универсальные шаблоны
Что-то я совсем запутался)Объясните пожалуйста) Создайте класс CarCollection&lt;T&gt;. Реализуйте в...

Универсальные шаблоны
Добрый день, вопрос касательно универсальных шаблонов, типов. Как мне внутри моего универсального...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru