ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »