Быстрый обмен данными между неуправляемым кодом и управляемым кодом - PullRequest
1 голос
/ 01 июня 2010

Без использования p / invoke из C ++ / CLI мне удалось интегрировать различные методы библиотеки DLL от стороннего производителя, встроенного в C.

Один из этих методов извлекает информацию из базы данных и сохраняет ее в разных структурах. Написанная мною программа C ++ / CLI читает эти структуры и сохраняет их в List <>, который затем возвращается к соответствующему чтению и использованию приложения, полностью запрограммированного на C #. Я понимаю, что двойная обработка данных (сначала заполнение нескольких структур, а затем заполнение всех этих структур в списке <>) может привести к ненужной перегрузке, и в этот момент в C ++ / CLI должно быть ключевое слово «yield».

В зависимости от приведенного выше сценария, есть ли у вас рекомендации, чтобы избежать или уменьшить эту перегрузку?

Спасибо.

1 Ответ

0 голосов
/ 01 июня 2010

Вам не нужно ключевое слово yield для создания итераторов. Просто создайте один класс, реализующий IEnumerator<T>, а другой класс, реализующий IEnumerable<T>.

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