Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Результати виконання практичних завдань. Завдання 1. Реалізація для класів ПО інтерфейсів IComparable<T> та IComparer<T>
Завдання 1. Реалізація для класів ПО інтерфейсів IComparable<T> та IComparer<T>.
Реалізація інтерфейсу IComparable для класу NamedEntity (лістинг 1) забезпечеє впорядкування усіх іменованих об’єктів, які успадковують даний клас, за назвою.
Лістинг 1 – Реалізація інтерфейсу IComparable для класу NamedEntity
public abstract class NamedEntity: Entity, IComparable<NamedEntity>, INameable { …
/// <summary> /// Порівнює екземпляр іменованої сутності /// із заданим екземпляром на основі значень їх імен /// (реалізація інтерфейсу IComparable<NamedEntity>) /// </summary> /// <param name="other"></param> /// <returns></returns> int IComparable<NamedEntity>.CompareTo( NamedEntity other) { return this.Name.CompareTo(other.Name); }
}
Реалізація інтерфейсу IComparable для класу CountriesMembership (лістинг 2) забезпечеє впорядкування об’єктів класу, за назвою організації, у випадку, якщо назви організацій співпадають, то за назвою країни, а у випадку, якщо й імена країн співпадають, то за датою вступу.
Лістинг 2 – Реалізація інтерфейсу IComparable для класу CountriesMembership
/// <summary> /// Порівнює екземпляр члена міжнародної організації /// із заданим екземпляром на основі значень /// імен міжнародної організації та країни /// і значення дати вступу /// (реалізація інтерфейсу /// IComparable<CountriesMembership>) /// </summary> /// <param name="other"></param> /// <returns></returns> public int CompareTo(CountriesMembership other) { return this.Organization.Name!= other.Organization.Name ? this.Organization.Name.CompareTo( other.Organization.Name) : this.Country.Name!= other.Country.Name ? this.Country.Name.CompareTo(other.Country.Name) : this.AccessionDate.CompareTo(other.AccessionDate); }
Реалізація інтерфейсу IComparer для класу UNDivisionObject (лістинг 3) забезпечеє можливість впорядкування об’єктів, які успадковують даний клас, за цифровим кодом.
Лістинг 3 – Реалізація інтерфейсу IComparer для класу UNDivisionObject
// Реалізація інтерфейсу IComparer для класу UNDivisionObject public class NumericCodeComparer: Comparer<UNDivisionObject> {
public override int Compare(UNDivisionObject x, UNDivisionObject y) { return x.NumericCode.CompareTo(y.NumericCode); } }
Date: 2015-09-02; view: 325; Нарушение авторских прав |