Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ссылка записывается в эллемент коллекции! как запичать значение?! 
:(
    Опции темы
Demokratizator
Дата 2.10.2007, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 25.7.2006

Репутация: нет
Всего: нет



Добрый день.

Такой код:
Код


ArrayList _fResult = new ArrayList();
AV8Document _Item = (AV8Document)_ci[0].Invoke(new object[] { _connection });
object _v8Select = _Item._itemManager.GetType().InvokeMember("Select",
                                                                       System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.InvokeMethod |   
                                                                       System.Reflection.BindingFlags.Static,
                                                                       null,
                                                                       _Item._itemManager,
                                                                       new object[] { });


while (((bool)_v8Select.GetType().InvokeMember("Next", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.InvokeMethod | System.Reflection.BindingFlags.Static, null, _v8Select, null)))
{
       _fResult.Add(_v8Select);
}

return _fResult;


т.е. в цикле должны добавляются элементы к коллекцию. НО происходит следеющее: 
на первой итерации цикла _fResult[0] равно одному значению
на второй итерации _fResult[1] равно другому значению, НО и _fResult[0] получается равным _fResult[1], хотя _v8Select на первой итерации НЕ равно _v8Select на второй. и так далее. Т.е. в конце получаю коллекцию, все элементы которой равны последнему значению...
Я так понял, что  _v8Select записывается в коллекцию как ссылка и поэтому меняется... как туда запихивать именно значение?
Спасибо.


PM MAIL   Вверх
archeg
Дата 2.10.2007, 00:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 11
Всего: 27



Какого у тебя типа _v8Select? bool?


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
Demokratizator
Дата 2.10.2007, 01:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 25.7.2006

Репутация: нет
Всего: нет



это вообще COM объект.

сдесь инициализируется:
Код

object _v8Select = _Item._itemManager.GetType().InvokeMember("Select",
                                                                       System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.InvokeMethod |   
                                                                       System.Reflection.BindingFlags.Static,
                                                                       null,
                                                                       _Item._itemManager,
                                                                       new object[] { });


сдесь вызывается его метод, который возвращает bool:
Код

((bool)_v8Select.GetType().InvokeMember("Next", 
System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.InvokeMethod | System.Reflection.BindingFlags.Static, 
null, _v8Select, null))


PM MAIL   Вверх
archeg
Дата 2.10.2007, 07:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 11
Всего: 27



Ну вот. Тогда объясни ты мне как ты хочешь скопировать COM-объект? оО smile 


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
stab
Дата 2.10.2007, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 22
Всего: 48



Цитата(Demokratizator @  2.10.2007,  04:30 Найти цитируемый пост)
Я так понял, что  _v8Select записывается в коллекцию как ссылка и поэтому меняется... как туда запихивать именно значение?


видима каждый раз производя создание нового объекта, т.е.

Код

object _v8Select = _Item._itemManager.GetType().InvokeMember("Select",
                                                                       System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.InvokeMethod |   
                                                                       System.Reflection.BindingFlags.Static,
                                                                       null,
                                                                       _Item._itemManager,
                                                                       new object[] { });


надо внести в цикл.


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0431 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.