Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
2 / 2 / 1
Регистрация: 05.05.2011
Сообщений: 67
1

Одновременное наследование от класса и интерфейса

05.03.2013, 12:08. Показов 2867. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как я понял в C# нельзя наследовать от нескольких классов, только от нескольких интерфейсов. Но у меня есть класс, который наследует уже один класс, а теперь появилась необходимость наследовать ещё и от DependencyObject. Хотел сделать наследование в базовом классе, но тогда не могу перегрузить метод Equals из Object.Equals, так как программы пытается перегрузить не его, а DependencyObject.Equals, который является sealed. Подскажи пожалуйста, как быть.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.03.2013, 12:08
Ответы с готовыми решениями:

Наследование в класса от другого класса и интерфейса
Здравствуйте. Есть интерфейс public interface comp { void GetInfo(); } ...

Наследование интерфейса и наследование реализации
Начал читать книгу GoF и сразу же в предисловии попал в тупик. Чем отличается наследование...

Наследование переменных от интерфейса
Задача на засыпку Почему так работает template <class T> class A { public:...

Наследование интерфейса схожих классов (архитектура)
Имеется класс абстрактных операций. В нем есть чисто виртуальный метод operate( AbstractObj * ) ...

3
284 / 255 / 73
Регистрация: 17.07.2012
Сообщений: 618
05.03.2013, 12:33 2
Лучший ответ Сообщение было отмечено tezaurismosis как решение

Решение

Можно перекрыть метод:
C#
1
public new bool Equals(object o) { }
1
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
05.03.2013, 12:37 3
Лучший ответ Сообщение было отмечено tezaurismosis как решение

Решение

xreal, Попроуйте реализовать в классе IEquatable
C#
1
2
3
4
5
6
7
    class MyClass : DependencyObject, IEquatable<MyClass>
    {
        public bool Equals(MyClass other)
        {
            return true;
        }
    }
Этот код будет работать для клиентского кода, но не будет работать для коллекций, хэшсетов и прочего. Если вам это не нужно, то это самый подходящий вариант. Перекрытие также не будет работать с ними, но введет дополнительную путаницу.
1
2 / 2 / 1
Регистрация: 05.05.2011
Сообщений: 67
05.03.2013, 15:05  [ТС] 4
Всем большое спасибо за ответы
0
05.03.2013, 15:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.03.2013, 15:05
Помогаю со студенческими работами здесь

Наследование интерфейса INotifyPropertyChanged классом с 2 свойствами
Добрый вечер. Подскажите ,пожалуйста ,как при наследовании интерфейса INotifyPropertyChanged...

Одновременное сохранение двух экземпляров класса
Здравствуйте, дорогие форумчане. Если в двух словах, программа представляет собой модифицированную...

Чем отличается наследование реализации от наследования интерфейса?
Чем отличается наследование реализации от наследования интерфейса?

Как реализовать наследование и использование графического интерфейса
Перед студентами, впервые услышавших про концепцию ООП, стоит задача: используя любой язык...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru