| 1 2 |
| Re[8]: Не работает своё преобразование типов | |
| От: | dims12 | ||
| Дата: | 16.03.10 17:44 | ||
| Оценка: | ![]() | ||
| Здравствуйте, _FRED_, Вы писали: _FR>Да какая разница как оно выглядит с наружи? Так это ж "договор". Если я передаю туда какой-то параметр, то, значит, могу влиять на работу метода. А если параметр игнорируется, то, значит, в договоре одно, а на деле -- другое. _FR>Я тебе суть показывал, что бы было максимально похоже на твой пример с Number из Явы. Я понял. Но по логике, ведь, не похоже. IConvetible -- это станция пересадок между множеством типов, а Number -- это абстракция числа, являющаяся предком всех числовых типов. _FR>Но не в том, о чём говоришь ты. Пока что ты лишь расписываешься в отсутствии знаний. Всё правильно: у меня пока что не было знаний об этих дырках Ну ладно, ладно: о фичах |
| Re[4]: Не работает своё преобразование типов | |
| От: | _FRED_ эксперт | ||
| Дата: | 17.03.10 06:58 |
| Здравствуйте, _FRED_, Вы писали: _FR>Разбоксить некоторое значение из object в неизвестно во что возможно, пожалуй, лишь с помощью "хаков" и дополнительных приседаний. Но после этого выбрать ещё и требуемый оператор преобразования во что-то другое… Тоже придётся много приседать. А оно нужно? Во, кстати, пример приседаний:
Скомпилированный expression для продуктивной работы нужно кешировать, например так:
Memoize же должен быть потокобезопасным, но этот вопрос я оставляю за рамками данного сообщения, ограничусь лишь ссылкой сюда. What I've learned about software engineering: 1) Listen to smart people 2) Prefer simple to clever 3) Have no ego 4) Shut the fuck up. Не бойтесь делиться своими методами работы. Большинству людей будет тупо лень их использовать. |
| Re: Не работает своё преобразование типов | |
| От: | nikov эксперт | ||
| Дата: | 18.03.10 08:13 | ||
| Оценка: | +1 | ||
| Здравствуйте, dims12, Вы писали: D>Внутри object a лежит объект class A, у которого есть explicit преобразование к int. D>Выражение int b= (int)a вызывает экспешн InvalidCastException, внутри которого ПО РУССКИ написано, что преобразование недопустимо. Если используешь C# 4.0, то можно попробовать
|
| Re[2]: Не работает своё преобразование типов | |
| От: | ARMSoft | ||
| Дата: | 18.03.10 12:55 |
юзай:
и будет все выглядеть "красиво". Сравнивать Шарп с Явой/Питоном/etc. не никакого смысла, у каждого языка свои правила игры. И то, что валит ошибку в твоем коде — идеологически имхо верно (используя strong casting будь уверен, что там лежит именно твой тип данных), т.к. кастинг не полиморфный как в Яве (как я понял), иначе будет все безбожно тупить. ------------------------- My professional profile |
| 1 2 |