ВУЗ:
Составители:
Рубрика:
103
Person p = prs as Point;
if (!p.Equals(null))
return (string.Compare(fam,p.fam));
else
throw new ArgumentException ("неверный тип");
}
// другие компоненты класса
}
Поскольку параметр метода должен иметь универсальный тип
object, то перед выполнением сравнения его нужно привести к типу
Person. Такое приведение выполняктся с помощью операции as, про-
веряющей корректность выполнения приведения типов.
Отношение порядка на объектах класса Person задается как от-
ношение порядка на фамилиях людей. Так как строки наследуют ин-
терфейс IComparable, то для фамилий людей вызывается метод
string.Compare(fam,p.fam), его результат и возвращается в каче-
стве результата метода CompareTo для сравнения людей. Если пара-
метр метода не будет соответствовать нужному типу, то выбрасывается
исключение со специальным уведомлением.
Введенные методы могут быть проверены с помощью следующе-
го тестового примера:
public void TestCompare()
{
Person ps1 = new Person("Иванов");
Person ps2 = new Person("Петров");
Person ps3 = new Person("Сидоров");
Console.WriteLine("{0} > {1} = {2}", ps1.Fam,
ps2.Fam, (ps1 > ps2));
Console.WriteLine("{0} < {1} = {2}", ps2.Fam,
ps3.Fam, (ps2 < ps3));
}
Результат:
Иванов > Петров = False
Петров < Сидоров = True
Другими интерфейсами, активно используемыми в классах биб-
лиотеки FCL, являются IEnumerable, ICollection и IList, описы-
вающие не обобщенные коллекции объектов, которые могут вызываться
по индексу. Основные методы и свойства интерфейсов ICollection и
IList описаны в табл. 4.3 и 4.4.
Страницы
- « первая
- ‹ предыдущая
- …
- 101
- 102
- 103
- 104
- 105
- …
- следующая ›
- последняя »
