3 / 3 / 0
Регистрация: 31.01.2010
Сообщений: 36
|
|||||||||||
1 | |||||||||||
Преобразование типов в обобщенном методе28.06.2010, 14:22. Показов 19281. Ответов 22
Метки нет (Все метки)
Всем доброго времени суток.
0
|
28.06.2010, 14:22 | |
Ответы с готовыми решениями:
22
Преобразование типов Преобразование типов данных Преобразование типов - большая нагрузка на ЦП Возможно ли создать своё преобразование типов |
87 / 87 / 26
Регистрация: 04.01.2010
Сообщений: 270
|
||||||
28.06.2010, 16:10 | 2 | |||||
так нельзя
возможно вот так:
0
|
3 / 3 / 0
Регистрация: 31.01.2010
Сообщений: 36
|
||||||
28.06.2010, 17:55 [ТС] | 3 | |||||
Все равно выдает, что неявное преобразование невозможно. А явное преобразование сделать тоже не получается:
0
|
87 / 87 / 26
Регистрация: 04.01.2010
Сообщений: 270
|
||||||
28.06.2010, 18:17 | 4 | |||||
ну как вариант можно вот так преобразовывать:
0
|
3 / 3 / 0
Регистрация: 31.01.2010
Сообщений: 36
|
|||||||||||
28.06.2010, 19:00 [ТС] | 5 | ||||||||||
Конкретно сейчас проблема все-таки несколько в другом:
0
|
328 / 312 / 68
Регистрация: 05.11.2009
Сообщений: 712
|
||||||
28.06.2010, 20:36 | 6 | |||||
после
0
|
мну довольно <(-__-)l
217 / 206 / 15
Регистрация: 17.01.2010
Сообщений: 2,462
|
||||||
29.06.2010, 08:11 | 7 | |||||
что мешает записать
0
|
3 / 3 / 0
Регистрация: 31.01.2010
Сообщений: 36
|
||||||
29.06.2010, 09:10 [ТС] | 8 | |||||
0
|
Администратор
83941 / 52529 / 244
Регистрация: 10.04.2006
Сообщений: 13,461
|
|
29.06.2010, 09:33 | 9 |
А с чего вы взяли, что если напишете "123", то это обязательно будет воспринято как значение типа Int?
Добавлено через 13 минут Вообще, все типы-значения наследуют ValueType. Но это специальный класс и недоступен из кода. Получается, что с помощью исключительно ограничения where так сделать не получится.
0
|
3 / 3 / 0
Регистрация: 31.01.2010
Сообщений: 36
|
||||||||||||||||
29.06.2010, 20:54 [ТС] | 10 | |||||||||||||||
Исключительно из-за этого:
Пробовал иначе:
0
|
87 / 87 / 26
Регистрация: 04.01.2010
Сообщений: 270
|
|
30.06.2010, 13:08 | 11 |
Компилятор предупреждает об ошибке, но вы можете скомпилировать проект, когда выполнение программы дойдет до этого места, будет краш.
0
|
1322 / 995 / 127
Регистрация: 08.12.2009
Сообщений: 1,299
|
|
30.06.2010, 14:06 | 12 |
буду краток:
1) половина здесь написанного не имеет никакого отношения к жизни 2) для базовых численных типов нельзя сделать generic-метод, ибо все они не подчиняются одним и тем же законам (разве, что записываются циферками) 3) выхода два: 3.1) делать как в fcl - тупо перегружать метод для всех этих типов (благо их там мало) 3.2) не делать этого вообще - гибкость надо искать в другом з.ы. обобщенное программирование в .net введено НЕ для торможения и без того тормозящих математических примитивов Добавлено через 30 минут для новичков дополню: var a = 10; - int var a = (int)10; - int; var b = 100.500f; - float var b= (float)100.500; - float var c = 10.500; - double var c = 10.5d; var c = (double)10; var d = 10.56m; - decimal var d = (decimal)10.56; - decimal ну и так далее
1
|
3 / 3 / 0
Регистрация: 31.01.2010
Сообщений: 36
|
|
30.06.2010, 15:10 [ТС] | 13 |
Всем спасибо за ответы. Видимо, придется временно забить на обобщенное программирование)
0
|
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 11
|
|||||||||||
11.09.2010, 12:55 | 15 | ||||||||||
Доброе время суток.
Проблема аналогичнаяя
0
|
129 / 129 / 22
Регистрация: 10.11.2010
Сообщений: 313
|
|||||||||||
10.11.2010, 16:53 | 16 | ||||||||||
Есть решение:
для значения по умолчанию типа T пользовать конструкцию
1
|
51 / 49 / 7
Регистрация: 09.11.2010
Сообщений: 93
|
|
10.11.2010, 17:02 | 17 |
0
|
129 / 129 / 22
Регистрация: 10.11.2010
Сообщений: 313
|
|
10.11.2010, 17:10 | 18 |
Дело не в общем смысле, а в решении конкретных задач, если требуется либо возвращать, либо конвертировать для обработки, то b/u необходим, а то что не гуд - останется на совести разработчика.
0
|
11.11.2010, 13:47 | 19 | |||||
Есть такая компоненка Leleko.Net.Kernel написанная на il, которая позволит такое:
0
|
51 / 49 / 7
Регистрация: 09.11.2010
Сообщений: 93
|
|
11.11.2010, 16:03 | 20 |
Как же вы можете делать foreach (var item in a1) , если тип ds не поддерживает IEnumerable ?
1
|
11.11.2010, 16:03 | |
11.11.2010, 16:03 | |
Помогаю со студенческими работами здесь
20
Преобразование типов: что лучше использовать Преобразование типов в Postgresql TextBox. Преобразование типов из string в date и int Использование static PropertyData в обобщенном классе на WPF Catel Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |