![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| kurzon |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 307 Регистрация: 12.8.2007 Репутация: -8 Всего: -11 |
Вы разрабатываете класс Document, реализующий интерфейсы IStorable и ICompressible.
Каким способом следует описать класс Document?
Добавлено @ 16:56 Вы разрабатываете класс Document, производный от интерфейсов IStorable и ICompressible. В процессе разработки выяснилось, что класс реализует два интерфейса, имеющих метод void Read(). Какое из перечисленных действий следует предпринять, чтобы избежать конфликта в программе?
Это сообщение отредактировал(а) kurzon - 25.9.2007, 17:01 |
||||
|
|||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 2 Всего: 25 |
1.
Вы разрабатываете класс Document, реализующий интерфейсы IStorable и ICompressible. Каким способом следует описать класс Document? public class Document : IStorable, ICompressible 2. Вы разрабатываете класс Document, производный от интерфейсов IStorable и ICompressible. В процессе разработки выяснилось, что класс реализует два интерфейса, имеющих метод void Read(). Какое из перечисленных действий следует предпринять, чтобы избежать конфликта в программе? неплохой вопрос я знаю, что можно реализовать их, как IStorable.Read() и ICompressible.Read(). но вызвать их напрямую в классе нельзя насчет первого вопроса - явный РТФМ Это сообщение отредактировал(а) Alek86 - 25.9.2007, 17:45 |
|||
|
||||
| marcusmae |
|
||||||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: 22 Всего: 39 |
Гм. Я бы тоже так сделал :
Вероятно, это и называется
Вызвать напрямую, ессесно, не получится, однако и конфликта не будет, если при вызове приводить к соответствующему интерфейсу :
Это сообщение отредактировал(а) marcusmae - 25.9.2007, 20:52 -------------------- ἀπὸ μηχανῆς θεός |
||||||
|
|||||||
| QryStaL |
|
|||
![]() Intellectual feast ![]() ![]() Профиль Группа: Участник Сообщений: 914 Регистрация: 30.11.2005 Репутация: 14 Всего: 32 |
Это называется явная реализация интерфейсов. Вышеозначенное определение по смыслу ближе всего к приавильному ответу, но корявое до ужаса...
-------------------- I don't need a reason being who I am... |
|||
|
||||
| marcusmae |
|
||||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: 22 Всего: 39 |
Да, это - implement interface explicitly. Но что-то я подумал, а причём тут сигнатура? Ведь сигнатура = имя + модификаторы + возвращаемый тип + типы аргументов. Здесь список аргументов - одинаковый, возвращаемый тип - тоже, так что сие годится, если только под именем подразумевается "дальнее имя", то есть :
Это сообщение отредактировал(а) marcusmae - 25.9.2007, 21:06 -------------------- ἀπὸ μηχανῆς θεός |
||||
|
|||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |