Как убедиться, что загруженный контент и мой список имеют совпадающие индексы? - PullRequest
0 голосов
/ 19 января 2012

Я загружаю файлы с сервера и помещаю их в список после некоторых манипуляций с ними.

Как мне установить, чтобы эти файлы были в правильном индексе, из которого исходный URL пришел?

Например, у меня есть

  List<myCustomObject> downloadedContentContainers {get;set;}
  myCustomObject contains a property downloadURL
  myCustomOBject also contains a property called downloadedByteArray

Каждый элемент в downloadContentContainers содержит URL-адрес, чтобы получить загруженный Контент, когда процесс загрузки и манипуляции завершен, я хочу, чтобы результат был помещен в свойство myCustomObject, но в правильный индекс downloadContentContainers.

Короче говоря, я хочу, чтобы результаты myCustomObject.downloadUrl были вставлены в myCustomObject.downloadedByteArray

Как мне это сделать?

Моими основными препятствиями являются лямбда-выходы и области видимости, использующие foreach для списков, отсутствие индекса, а также большие размеры файлов и асинхронность.

1 Ответ

1 голос
/ 19 января 2012

Я не уверен, является ли это общим шаблоном C # или нет, но если вы используете асинхронный метод и если вам нужно изменить некоторые свойства объекта, самый простой способ - поместить этот метод в этот конкретный класс. Если вы (не хотите) / (не можете) сделать это, каким-то образом вам нужно найти ссылку на этот объект, иногда есть способ поместить его в аргументы события, или вы можете получить к нему доступ через объект отправителя события , Таким образом, в вашем случае вы должны поместить логику загрузки в класс myCustomObject, чтобы вы могли установить оттуда его downloadByteArray.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...