#c_sharp #net
Смотрел исходники и обнаружил, что один из аргументов метода Read класса FileStream имеет модификатор [In, Out] . [System.Security.SecuritySafeCritical] // auto-generated public override int Read([In, Out] byte[] array, int offset, int count) { } Что означает этот модификатор? Если верить MSDN, то он используется для взаимодействия с COM, но вроде COM взаимодействия в данном методе нет.
Ответы
Ответ 1
OutAttribute - показывает, что требуется маршалинг данных из вызываемого объекта в вызывающий. InAttribute - показывает, маршалинг каких данных необходимо выполнить при передаче от вызывающего объекта — вызываемому, но не обратно. Данные атрибуты могут быть применены к параметрам. Аргументы InAttribute и OutAttribute являются необязательными. Эти атрибуты поддерживается только для COM-взаимодействия и вызова неуправляемого кода. Подробнее можно прочитать на MSDN: OutAttribute - класс InAttribute - класс Обратите внимание на Заметки и Примеры, перейдя по ссылкам.
Комментариев нет:
Отправить комментарий