![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
![]()
Здравствуйте, возникла такая задача.
Нужно сделать универсальный обработчик логических операций. На входе функции есть два объекта. На выходе должно быть true или false. Внутри сравнение значений объектов например оператор ">". Пытался ковырятся студию, ничего там не нашел. Рефлексия не спасла. Инет также особо не помог. Есть у кого нибудь идеи как это реализовать?? PS перебор типов не очень радует, хочется найти простое и универсальное решение. Спасибо.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
![]() |
![]() |
![]() |
#2 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
![]()
я если честно не понял что вам надо, но предположу это:
http://msdn.microsoft.com/en-us/library/ms132123.aspx |
![]() |
![]() |
![]() |
#3 | |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
![]() Цитата:
В общем так: Функция Код:
Код:
Код:
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
|
![]() |
![]() |
![]() |
#4 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
![]()
проверять IComparable у них и компарить, опять не?
![]() |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
![]()
Мне нужно реализовать все логические операции ... Ваш совет сможет это сделать??
Можно примерчик?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
![]() |
![]() |
![]() |
#6 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
![]()
Где реализовать, в одном методе? бррр ничего не понимаю
если объект реализует IComparable, то можно привести его к этому интерфейсу и вызвать CompareTo - ((IComparable)a).CompareTo(b) |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
![]()
Да в функцию могут передатся совершенно любые объекты и их нужно сравнить. Приведенная функция должна вернуть true если оператор один больше оператора 2. А операторами могут быть и int и string и float и собственный объект.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
![]() |
![]() |
![]() |
#8 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
![]()
ну так а я что вам написал?
абстрактные объект так сравнить низя, зя только тот который умеет сам сравниваться ибо как сравнить такие: Код:
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
![]()
Так выход то какой??
У меня гарантировано будут переданы стандартные типы ... никаких массивов .. Вижу только делать свич кэйс ... со списком возможных типов и привеению к ним ... Но боюсь что это отразится на скорости выполнения. Да и хочется верить что MS уже подумали за меня. В принципе класс рефлекции достаточно большой и там куча методов чтобы работать с абстрактными понятиями ... авось я чего то не знаю про него. А в вашем случае функция должна вернуть false потому как это нестандартный тип.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
![]() |
![]() |
![]() |
#10 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
![]()
ешкин кот...
![]() так я и сказал начинайте с малого, стандартные реализуют IComparable http://msdn.microsoft.com/en-us/libr...(v=vs.80).aspx http://msdn.microsoft.com/en-us/libr...em.string.aspx , следовательно уже много кейсов отпадет, а дальше либо обязать попадать в ваш метод только IComparable, либо чтобы те кто попал чего-то еще могут |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Добавление своих объектов в Добавление своих объектов в двунаправленный кольцевой список | voidmain | C# (си шарп) | 3 | 21.03.2013 13:08 |
Универсальное событие в JavaScript | Vervolf | JavaScript, Ajax | 6 | 25.12.2011 17:00 |
Создание и уничтожение объектов. Время жизни объектов C++/C# | Anett// | Помощь студентам | 0 | 24.10.2011 23:26 |
сравнение двух объектов одного класса | SAMOUCHKA | Общие вопросы C/C++ | 5 | 23.10.2011 17:18 |