![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Fieral |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 10.12.2007 Репутация: нет Всего: 1 |
есть вот такой вот класс на java:
и абстрактный класс хранящий наборы Слотов в HashTable:
и всё нормально работает: слот параметризуется у наследников этого абстрактного класса и в HashTable можно класть слоты с разными параметризациями а вот при переписывании этого кода на C# - VS2005 ругается и требует параметризовать слоты в методе getSlot у абстарктного класса
Error 1 Using the generic type 'Rebecca_E8.Slot<T>' requires '1' type arguments как с этим быть? Это сообщение отредактировал(а) Fieral - 13.4.2008, 02:19 --------------------
Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор. |
||||||
|
|||||||
marcusmae |
|
||||||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: 22 Всего: 39 |
Fieral, компилятор настаивает на необходимости уточнения типа. Несовсем понятно, какую задачу должен решать приведённый Вами фрагмент. Похоже, что есть Slot<T> c дженерик-типом и есть словарь, в который должны попадать слоты различных T-типов. Так? Чтобы было от чего оттолкнуться, вот небольшая программка по мотивам Ваших фрагментов :
Тест :
Результат :
Вообще, я думаю, нет ничего плохого в том, чтобы выложить работоспособный код Java. Включим NetBeans и узнаем, что же всё-таки требуется получить ![]() -------------------- ἀπὸ μηχανῆς θεός |
||||||
|
|||||||
Fieral |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 10.12.2007 Репутация: нет Всего: 1 |
Так с одной стороны запихали - с другой вылезло:
есть у меня функция которая рпобегает по всем слотам и выясняет из "свежесть"
теперь она ругается: Error 2 The type arguments for method 'Rebecca_E8.Pipe.getOutSlot<T>(string)' cannot be inferred from the usage. Try specifying the type arguments explicitly. А что бы определить "свежесть" мне и не нужно знать что в себе хранят Слоты. :( --------------------
Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор. |
|||
|
||||
mr.DUDA |
|
||||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Что-то не клеится, в одном случае у вас тип Slot без аргумента T а в другом - с ним.
![]()
Вот так будет работать:
-------------------- ![]() |
||||
|
|||||
marcusmae |
|
|||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: 22 Всего: 39 |
Кажется значением в словаре нужно поставить Object, иначе толку будет от этого словаря...
![]() Это сообщение отредактировал(а) marcusmae - 13.4.2008, 12:52 -------------------- ἀπὸ μηχανῆς θεός |
|||
|
||||
Fieral |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 10.12.2007 Репутация: нет Всего: 1 |
О, спасибо за мокания лицом в код. Сделал обходной манёвр:
Завёл абстрактый класс ASlot, который умеет отвечать на вопрос "Свежий?" Унаследовал от него параметризованный слот и сделал словарь private Dictionary<String, ASlot> Slots; Теперь только не понимаю кто прав: шарп - требующий параметризацию или ява - плюущая на неё. marcusmae, в ява варианте: 2 абстрактных реализатора runable запущенные в параллельных процессах хранят в словаре слоты. в процессе работы обращаются к слотам с вопросмо "все свежие?" если да - то первый процесс читает данные, если нет - второй их туда пишет далее наследуются от этих реализаторов классы заточенные под обработку конкретных параметризованных конфигураций слотов. это правда кому-то интересно? ![]() --------------------
Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор. |
|||
|
||||
marcusmae |
|
|||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: 22 Всего: 39 |
процессах или потоках? код, пожалуйста!
То есть, каждый словарь должен уметь работать только с конкретным типом слотов? Чтобы стало интересно, нужно понять сначала ![]() -------------------- ἀπὸ μηχανῆς θεός |
|||
|
||||
Fieral |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 10.12.2007 Репутация: нет Всего: 1 |
Ок, куда высылать проект?
--------------------
Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор. |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [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. |