Es ist ein C# spezifisches Schlüsselwort, COM hat es auch in der IDL-Syntax. Das Äquivalent in MSVC++ ist das [out] -Attribut.
Aber nein, der Compiler wird das mit C3115 ablehnen, wenn Sie versuchen, es zu verwenden. Beachten Sie, dass Sie die C++/CX-Spracherweiterung verwenden, um Code zu schreiben, der von anderen Sprachen verwendet wird. Was im Allgemeinen die Vorstellung von [out] sehr schlecht unterstützt. Weder C++, Javascript oder .NET-Sprachen wie vb.net unterstützen es. Sie können dies auch in den .h-Dateien in C: \ Programme (x86) \ Windows Kits \ 8.0 \ Include \ WinRT sehen, die aus den .idl-Dateien in demselben Verzeichnis generiert werden, das das [out] -Attribut hat. Es wurde in der .h-Datei bis Mitte entfernt.
Es spielt keine Rolle, da der Code im Prozess verwendet wird, sodass es keinen Vorteil gibt, das Marshalling des Argumentwerts zu optimieren. Nur ein einfacher Zeiger erledigt den Job. Den Argumentwert im C# -Code initialisieren zu müssen, ist jedoch unvermeidliche Verlust.
Dies sind SAL-Anmerkungen und betreffen nur die statische Codeanalyse. Bei der normalen Kompilierung bewerten sie nichts. –