![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| RUVATA |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 24.8.2010 Репутация: нет Всего: нет |
Всем доброго времени суток...
Не могу разобраться с коллекциями в .NET Суть моей проблемы такова. Объявить коллекцию, и строго ограничить тип объектов который в нее будут входить... заранее оговорюсь - - эти объекты есть экземпляры моего собственного класса. Например: Создам я класс
Вот в некоей процедуре я объявил несколько его экземпляров
А теперь я хочу объявить коллекцию объектов, но так чтобы в ней явно содержались только экземпляры MyClass И вот собственно сам вопрос как мне это сделать? Я могу объявить просто коллекцию, но ограничить ее по типу объектов например так
не дает IDE... сообщая о ошибке "Для "Microsoft.VisualBasic.Collection" не определены параметры-типы и поэтому нельзя использовать аргументы-типы." хотя просто создать коллекцию и добавлять в нее мои TestObject1, TestObject2 я могу, все OK... но вместе с ними я могу и добавлять любые другие объекты... что меня не устраивает... вот |
||||||
|
|||||||
| Wanderer2019 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: 2 Всего: 17 |
MSDN:
http://msdn.microsoft.com/en-us/library/4kf43ys3.aspx Это сообщение отредактировал(а) Wanderer2019 - 9.2.2011, 15:48 |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 18 Всего: 142 |
Используй коллекции, в которых определены параметры-типы. Например List(Of T)
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| RUVATA |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 24.8.2010 Репутация: нет Всего: нет |
Нет... не помогает, не работает...
на этапе объявления ...Collection или List в аргументах принимают только (Of типы данных) н/п (Of String) или (Of Int32) но вот (Of свой класс) ни так ни этак... |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 18 Всего: 142 |
Вообще-то MyClass - это в бейсике зарезервированное слово, так что попробуй либо дать своему классу другое имя, либо возьми MyClass в квадратные скобки.
Добавлено через 9 минут и 27 секунд Хотя студия сама их вставляет... Скорей всего ты определил свой класс в другом пространстве имен и забыл его импортировать, поэтому студия его просто не видит. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| RUVATA |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 24.8.2010 Репутация: нет Всего: нет |
MyClass - это я от балды для примера написал... Пусть любое уникальное имя... не суть... У меня в коде свои имена
но я похоже разобрался... в .NET так видимо вообще нельзя... да и видимо не нужно... любое действие над коллекциями производится с указанием типа объектов... Та к что если надо проверять на этапе добавления, то проще всего тупо обвить массив, из чего ты его объявишь, то и будет ограничением.. |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 18 Всего: 142 |
Вообще-то можно. Проблемы, о которой ты пишешь возникнуть в принципе не должно. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |