Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 67

Compare classes

30.05.2014, 13:46. Показов 1060. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как сравнить через полиморфизм результаты методов классов которые реализуют один и тот же интерфейс?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.05.2014, 13:46
Ответы с готовыми решениями:

The designer could not be shown for this file because none of the classes within it can be designed
The designer could not be shown for this file because none of the classes within it can be designed. The designer inspected the following...

Xsd.exe: ошибка "Can only generate one of classes or datasets"
создаем простой файл с именем test.xml: <?xml version-"1.0"> <rootelement> <node attr="abc" /> <rootelement> ...

Запрос к базе Students<->ClassesForStudents<->Classes
В общем такой вопрос. Есть 3 таблицы: 1. Студенты (StudentID ключ) 2. Классы (ClassID ключ) И по-скольку один студент может ходить...

9
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
30.05.2014, 13:56
что значит методы реализуют один и тот же интерфейс. пример кода
0
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 67
30.05.2014, 14:14  [ТС]
interface ICol(){ bool IsTrue();}
class One:ICol{bool IsTrue(){return false;}}
class Two:ICol{bool IsTrue(){return true;}}

в результате надосравнить bool в классе One и bool в классе Two но сделать это через полморфизм
0
 Аватар для Cupko
658 / 595 / 171
Регистрация: 17.07.2012
Сообщений: 1,682
Записей в блоге: 1
30.05.2014, 14:38
А как можно что-то сравнить "через полморфизм"? Что вы подразумеваете?
Я вообще в вашем примере полиморфизма не вижу.
0
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 67
30.05.2014, 14:44  [ТС]
не создавая экземпляр каждого класса можно ли сравнить результат возвращаемый методом через их общий интерфейс?
0
 Аватар для Cupko
658 / 595 / 171
Регистрация: 17.07.2012
Сообщений: 1,682
Записей в блоге: 1
30.05.2014, 14:51
ultim, А как вы себе это представляете? Как можно получить результат выполнения метода, не выполняя метод?
Чтобы выполнить метод, нужен экземпляр класса, либо статический метод.
Но полиморфизм и интерфейсы тут вообще не причем.
0
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 67
30.05.2014, 15:06  [ТС]
ну а как мне избежать тогда несколько вложенных if-ов
если результат One.IsTrue=false тогда проверяем Two.Istrue и тд пока не станет true
0
 Аватар для Cupko
658 / 595 / 171
Регистрация: 17.07.2012
Сообщений: 1,682
Записей в блоге: 1
30.05.2014, 15:08
C#
1
var result = One.IsTrue() || Two.IsTrue();
?
0
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
30.05.2014, 20:07
Цитата Сообщение от Cupko Посмотреть сообщение
Я вообще в вашем примере полиморфизма не вижу.
я вижу. интерфейсы и полиморфизм как раз очень рядом

Добавлено через 1 минуту
Цитата Сообщение от ultim Посмотреть сообщение
не создавая экземпляр каждого класса можно ли сравнить результат возвращаемый методом через их общий интерфейс?
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
30.05.2014, 22:05
Цитата Сообщение от ultim Посмотреть сообщение
не создавая экземпляр каждого класса можно ли сравнить результат возвращаемый методом через их общий интерфейс?
Можно ли сравнить какая из двух несуществующих табуреток будет громче скрипеть?

Цитата Сообщение от ultim Посмотреть сообщение
а как мне избежать тогда несколько вложенных if-ов
если результат One.IsTrue=false тогда проверяем Two.Istrue и тд пока не станет true
C#
1
2
3
4
5
6
7
8
9
bool Any(params ICol[] cols)
{
   return cols.Any(c => c.IsTrue());
}
 
if (Any(one, two, three, four, five)
{
   // GREAT SUCCESS!
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.05.2014, 22:05
Помогаю со студенческими работами здесь

Не получается добавить Domain Services Classes...
Привет) В проект (SL4) добавляю модель данных (linq to sql), добавляю Domain Services Clases. Но Available Datacontext/ ObjectContext...

Универсальный Compare(х,у)
Подскажите как сделать универсальным метод Compare интерфейса IComparer, чтобы не писать для каждого типа DateTime.Compare(x,y),...

Особенности сравнения методом Compare
Читаю у Шилдта Метод static int Compare(string strA, string strB, StringComparison comparisonType) Описание ...

Неправильно работает string.compare()
Доброго всем времени суток. Столкнулся с проблемой - не могу решить. Есть отсортированный файл: Файл большой, поэтому...

String.Compare - сравнение строковых величин
Не знаю,как в моем статическом методе &quot;Sravnenie&quot; сравнить строковые величины(ylica, name)...знаю, что с помощью String.Compare только как,...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru