ВУЗ:
Составители:
Рубрика:
128
if (left < j)
Sort(comparer, items, left, j);
// вызов метода сортировки элементов,
// расположенных справа от center
if (right > i)
Sort(comparer, items, i, right);
}
// другие методы сортировки
. . .
}
При описании обобщенного метода указывает параметр-тип Т. Первым
параметром является объект, тип которого раскрывает обобщенный
интерфейс IMyComparer, предназначенный для сравнения объектов (его
код представлен ранее), второй параметр метода – сортируемый массив
элементов обобщенного типа:
public static void Sort<T>(IMyComparer<T> comparer,
T[] items, int left, int right)
{
. . .
}
Вызов обобщенного метода класса осуществляется с указанием
конкретного типа элементов массива. Например,
int[] a = {1, 2, 10, 4, -5, 0};
// создание объекта закрытого типа на основе
// обобщенного класса MyComparer и типа int
IMyComparer<int> intComparer = new MyComparer<int>();
// вызов обобщенного статического метода
// класса Sortirovschik
Sorter.Sort<int>(intComparer,a,0,a.Length-1);
7.5. Обобщенные делегаты
Поскольку делегаты являются классами, они также могут быть
обобщенными. В этом случае можно создавать обобщенные алгоритмы,
логику которых можно изменять передаваемыми в качестве параметров
делегатами.
Определение обобщенного делегата имеет следующий вид:
if (left < j)
Sort(comparer, items, left, j);
// вызов метода сортировки элементов,
// расположенных справа от center
if (right > i)
Sort(comparer, items, i, right);
}
// другие методы сортировки
. . .
}
При описании обобщенного метода указывает параметр-тип Т. Первым
параметром является объект, тип которого раскрывает обобщенный
интерфейс IMyComparer, предназначенный для сравнения объектов (его
код представлен ранее), второй параметр метода – сортируемый массив
элементов обобщенного типа:
public static void Sort(IMyComparer comparer,
T[] items, int left, int right)
{
. . .
}
Вызов обобщенного метода класса осуществляется с указанием
конкретного типа элементов массива. Например,
int[] a = {1, 2, 10, 4, -5, 0};
// создание объекта закрытого типа на основе
// обобщенного класса MyComparer и типа int
IMyComparer intComparer = new MyComparer();
// вызов обобщенного статического метода
// класса Sortirovschik
Sorter.Sort(intComparer,a,0,a.Length-1);
7.5. Обобщенные делегаты
Поскольку делегаты являются классами, они также могут быть
обобщенными. В этом случае можно создавать обобщенные алгоритмы,
логику которых можно изменять передаваемыми в качестве параметров
делегатами.
Определение обобщенного делегата имеет следующий вид:
128
Страницы
- « первая
- ‹ предыдущая
- …
- 126
- 127
- 128
- 129
- 130
- …
- следующая ›
- последняя »
