ВУЗ:
Составители:
Рубрика:
126
public bool Less(T ob1, T ob2)
{
return ob1.CompareTo(ob2) < 0;
}
public bool LessOrEqual(T ob1, T ob2)
{
return ob1.CompareTo(ob2) <= 0;
}
public bool GreaterOrEqual(T ob1, T ob2)
{
return ob1.CompareTo(ob2) >= 0;
}
public bool Equal(T ob1, T ob2)
{
return ob1.CompareTo(ob2) == 0;
}
public bool NotEqual(T ob1, T ob2)
{
return ob1.CompareTo(ob2) != 0;
}
}
Поскольку методы сравнения объектов используют функцию
CompareTo, которую можно использовать только в случае, когда сравнимые
объекты раскрывают интерфейс IComparable, на обобщенный тип T
должно быть наложено ограничение:
class MyComparer<T> : IMyComparer<T> where T : IComparable
{
. . .
}
7.4. Обобщенные методы
Необобщенный класс может содержать отдельные обобщенные
методы. Обобщенные методы определяются следующим образом:
тип_функции имя_функции<список_обобщенных_типов>
(список_параметров)
{
. . .
}
public bool Less(T ob1, T ob2) { return ob1.CompareTo(ob2) < 0; } public bool LessOrEqual(T ob1, T ob2) { return ob1.CompareTo(ob2) <= 0; } public bool GreaterOrEqual(T ob1, T ob2) { return ob1.CompareTo(ob2) >= 0; } public bool Equal(T ob1, T ob2) { return ob1.CompareTo(ob2) == 0; } public bool NotEqual(T ob1, T ob2) { return ob1.CompareTo(ob2) != 0; } } Поскольку методы сравнения объектов используют функцию CompareTo, которую можно использовать только в случае, когда сравнимые объекты раскрывают интерфейс IComparable, на обобщенный тип T должно быть наложено ограничение: class MyComparer: IMyComparer where T : IComparable { . . . } 7.4. Обобщенные методы Необобщенный класс может содержать отдельные обобщенные методы. Обобщенные методы определяются следующим образом: тип_функции имя_функции<список_обобщенных_типов> (список_параметров) { . . . } 126
Страницы
- « первая
- ‹ предыдущая
- …
- 124
- 125
- 126
- 127
- 128
- …
- следующая ›
- последняя »