Содержание
- 2. Вопросы из предыдущей лекции Интерфейс. Что можно объявит (реализовать) в интерфейсе. Ограниечения для обобщенного класса: Ограничение
- 3. Синтаксис оформления ограничения class Task where T : Имя_Интерфейса{ …. } Ограничение интерфейсом Фактическим типом для
- 4. Синтаксис оформления ограничения class Task where T : Имя_Класса{ …. } Ограничение классом и его наследниками
- 5. Синтаксис оформления ограничения class Task where T : class{ …. } Фактическим типом для параметра T
- 6. Синтаксис оформления ограничения class Task where T : struct{ …. } Фактическим типом для параметра T
- 7. Синтаксис оформления ограничения Oграничение конструктором без параметров class Task where T : new(){ …. } C
- 8. Примеры использования ограничений
- 9. class Point{ int x,y; public Point(){x=y=0;} public Point(int x, int y){this.x =x; this.y = y;} public
- 10. Порядок ограничений Если для универсального параметра задано несколько ограничений, то они должны идти в определенном порядке:
- 11. Порядок ограничений. Пример. interface IPrint{ void print(); void move(); } class Person: IPrint{ public string Name
- 12. Порядок ограничений class Task where U : Person where V : class, new() { } Если
- 13. Разные формальные параметры public class Food { public void new_method (T2 Value){ ….} … } public
- 14. Пример. Разные формальные параметры.
- 15. Пример. Одинаковый формальный параметр.
- 16. Разрастание кода Конкретизация (reification) – создание класса путем задания в обобщенном классе конкретных типов вместо неопределенных
- 18. Скачать презентацию