möchte ich fragen, ob es einen Unterschied zwischenVerwendung von [in, out] in Methoden
public int Method1([In, Out] byte[] buffer);
und
public int Method2(byte[] buffer);
ich über http://referencesource.microsoft.com/#mscorlib/system/io/stream.cs,739 kam und sich fragen, warum [In, Out]
ist da?
Dieser Code ist sehr, sehr alt und fast sicher geschrieben, bevor der Pinvoke Marshaller getan wurde. Das hat eine ganze Weile gedauert, aber sie haben enorme Ressourcen für die Optimierung aufgewendet. Gute Chancen, dass [Out] notwendig war, wenn der pinvoke Marshaller noch nicht mit blitable Typen umgehen konnte. Oder der Programmierer hat es einfach eingefügt, weil es nie falsch ist, explizit darüber zu sein. Sie müssen den Microsoft-Programmierer finden, der an diesem 17+ Jahren arbeitete, um eine völlig zuverlässige Antwort zu erhalten. Sie sind sehr schwer zu finden. –