#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 - класс Обратите внимание на Заметки и Примеры, перейдя по ссылкам.
Комментариев нет:
Отправить комментарий