В чём заключается разница между ключевым словом out и атрибутом Out? На сколько мне известно из документации, эти вещи эквивалентны.
Но как же тогда объясняется следующая проблема: при импорте WinAPI функции некоторый из её параметров оказывается ссылочным; при указании атрибута Out вызов функции приводит к ошибке 87 (неверный параметр), но если использовать ключевое слово out, такой проблемы не возникает?
Ключевое слово out
при компиляции преобразуется в комбинацию атрибута [Out]
и ссылочного типа (того самого, который обозначается ключевым словом ref
).
Очевидно, вы забыли про ref
- отсюда и ошибка.
Нашел вот это(Далее вольный перевод):
[In]
и [Out]
используются, что бы разрешить двусмысленность при работе с указателями.
[In]
всегда ставится неявно по умолчанию=> явно его можно не указывать.
Однако, если ты хочешь получить какие-то изменения на вызывающей стороне, то должен указать атрибут [Out]
явно.
Иногда, что бы увидеть изменения в переменной не нужно указывать [Out], например если тип является bittable.
Большинство типов данных имеют общее представления и для managed, и для unmanaged памяти, и не требуют специальной обработки. Эти типы называют blittable, потому что они не требуют специальной обработки при передачи между managed и unmanaged кодом. Другие типы, которые требуют специальных преобразований, называются non-blittable. Вы можете думать, что большинство простых типов являются blittable, и все составные типы являются non-blittable.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте, нужно открыть dbf файл, изменить его через SQL запросы и сохранить в другой файлС dbf никогда не работал, поэтому искал код в инете
У меня стоит Visual Studio Enterprise 2017Необходимо создать инсталлятор для созданной настройки VSTO для PowerPoint 2013
Подскажите, можно ли достать данные ( прочитать базу ) при открытом браузере? Есть ли какие-нибудь средства обхода?
Доброе время сутокИмеются срабатывающие в таймере событие, 3 потока и класс, передающий в поток 2 параметра (объект из очереди и время "эмуляции"...