Re[14]: массивы в коллекции
От: Lexsus Россия  
Дата: 09.12.05 14:38
Оценка:
Здравствуйте, AlexSychev, Вы писали:

AS>Здравствуйте, Lexsus, Вы писали:


L>>А в чем может быть проблема? При редактировании элемента в CollectionEditor выскакивает исключение StackOverflowException.


AS>Напиши поподробнее что за элемент

Это я протупил. Написал рекурсию.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: массивы в коллекции
От: VladD2 Российская Империя www.nemerle.org
Дата: 10.12.05 21:00
Оценка: 1 (1)
Здравствуйте, Lexsus, Вы писали:


L>Я написал индексатор следующим образом:

L>
L>public GraphInfo this[int nPostition]
L>{
L>    {
L>        get
L>        {
L>            return List[nPosition] as GraphInfo;
L>        }
L>        set
L>        {
L>            List[nPosition] = value;
L>        }
L>    }
L>}
L>


L>Сделал всё как вы советовали, всё равно не выходит.


1. Наследуем свою коллекцию от System.Collections.ObjectModel.Collection<T> и получаем автоматическую реализацию редактируемой коллекции.
2. Идем сюда
Автор(ы): Владислав Чистяков (VladD2)
Дата: 18.12.2004
Работая над открытыми проектами, автор заметил, что операторы as и is многими программистами зачастую используются ненадлежащим образом. Результатом очередного двухчасового поиска ошибки и стала эта статья.


и читаем почему не надо так приводить типы.
... << RSDN@Home 1.2.0 alpha rev. 620>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: массивы в коллекции
От: Lexsus Россия  
Дата: 12.12.05 11:05
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>1. Наследуем свою коллекцию от System.Collections.ObjectModel.Collection<T> и получаем автоматическую реализацию редактируемой коллекции.

VD>2. Идем сюда
Автор(ы): Владислав Чистяков (VladD2)
Дата: 18.12.2004
Работая над открытыми проектами, автор заметил, что операторы as и is многими программистами зачастую используются ненадлежащим образом. Результатом очередного двухчасового поиска ошибки и стала эта статья.


и читаем почему не надо так приводить типы.


Я так понял,что System.Collections.ObjectModel.Collection<T> это .Net 2.0?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[14]: массивы в коллекции
От: Lexsus Россия  
Дата: 12.12.05 12:00
Оценка:
Здравствуйте, AlexSychev, Вы писали:
Ещё один вопрос, надеюсь последний.

При сохранении проекта студия пишет:
Code generation for property 'GraphInfo' failed. Error was: 'Value cannot be null. Parametr name:types'.
Я подозреваю что надо свою кодогенерацию коллекцию писать?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: массивы в коллекции
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.12.05 14:22
Оценка:
Здравствуйте, Lexsus, Вы писали:

L>Я так понял,что System.Collections.ObjectModel.Collection<T> это .Net 2.0?


Да. Для 1.х все несколько сложнее. Там нужно исползовать CollectionBase, но это намного утомительнее.
... << RSDN@Home 1.2.0 alpha rev. 620>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: массивы в коллекции
От: AlexSychev  
Дата: 13.12.05 05:27
Оценка:
Здравствуйте, Lexsus, Вы писали:

L>Здравствуйте, AlexSychev, Вы писали:

L>Ещё один вопрос, надеюсь последний.

L>При сохранении проекта студия пишет:

L>Code generation for property 'GraphInfo' failed. Error was: 'Value cannot be null. Parametr name:types'.
L>Я подозреваю что надо свою кодогенерацию коллекцию писать?

Если тебе нужно редактировать другую коллекцию из коллектишн едитора, то конечно нужно, я по-моему тебе об этом писал.

У этой коллекции должен быть конструктор параметром — простой массив элементов, которые хранит эта коллекция.
массивы в коллекции
От: Аноним  
Дата: 06.12.05 09:30
Оценка:
Если без вдавания в подробности, то нужно сделать элементами коллекции не структуру а класс.. просто сделай GraphInfo классом.. а вообще почитай об боксинге.. В MSDN-е все описано с картинками и примерами. Типа такого:
// boxing.cs
// Boxing an integer variable
using System;
class TestBoxing
{
public static void Main()
{
int i = 123;
object o = i; // Implicit boxing
i = 456; // Change the contents of i
Console.WriteLine("The value-type value = {0}", i);
Console.WriteLine("The object-type value = {0}", o);
}
}

Output
The value-type value = 456
The object-type value = 123



данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.