Я прочитал (в книге Ниша Сивакумара C ++ / CLI In Action среди других мест), что вы должны использовать декоратор __clrcall при вызовах функций, чтобы избежать двойного обращения, в случаях, когда вы знаете, что метод никогда не будет вызван из неуправляемого кода. Ниш также говорит, что если сигнатура метода содержит какие-либо типы CLR, то JIT-компилятор автоматически добавит __clrcall. Что мне не ясно, так это то, нужно ли мне включать __clrcall при создании свойств C ++ / CLI. В одном смысле свойства доступны только из языков .NET, с другой стороны, компилятор C ++ / CLI (я думаю) просто генерирует методы (например, *** _ get ()), которые можно вызывать как из управляемого, так и из неуправляемого кода. Так нужно ли мне использовать модификатор __clrcall в моих свойствах, и если да, то куда он девается? На самих функциях get / set?