Muss eine Wrapper -Klasse, die eine COM -Komponente über C# aufruft, das Entsachenmuster implementieren?

StackOverflow https://stackoverflow.com/questions/1559227

  •  21-09-2019
  •  | 
  •  

Frage

Ich habe eine Klasse in C# geschrieben, die als Wrapper um eine COM -Komponente fungiert. Die COM -Komponente ist früh gebunden und der RCW wurde von Visual Studio generiert. Sollte ich ein Entsetztmuster in meiner Wrapper -Klasse implementieren, um die COM -Referenz zu beseitigen, oder sollte ich das GC es nur umgehen lassen, da es bereits einen RCW hat?

War es hilfreich?

Lösung

Es gibt selten eine brauchen Entsorgung umzusetzen, aber es gibt oft gute Gründe, dies zu tun.

Wenn das COM -Objekt eine bedeutende Ressource darstellt, die schnell veröffentlicht werden muss, ist dies möglicherweise ein guter Grund zur Implementierung der Entsorgung.

In Ihrer Entsendungsmethode können Sie tun:-

 System.Runtime.InteropServices.Marshal.ReleaseComObject(myRCW);

Die Entsorgung Ihrer Klasse wird das COM -Objekt sofort freigeben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top