COM bileşeninin etrafında bir sarıcı görevi gören C# ile yazılmış bir sınıfa sahibim. COM bileşeni erken bağlı ve RCW Visual Studio tarafından oluşturuldu. Sarıcı sınıfımda COM referansını temizlemek için atılmış bir desen uygulamalı mıyım, yoksa sadece bir RCW'ye sahip olduğu için GC'nin ele almasına izin vermeliyim?C# ile COM bileşeni çağıran bir sarmalayıcı sınıfının Dispose desenini uygulamak mı gerekiyor?
5
A
cevap
4
Atıf uygulamak için nadiren gerekir ancak bunu yapmak için genellikle iyi nedenler vardır.
COM nesnesi hızlı bir şekilde serbest bırakılması gereken önemli bir kaynağı temsil ediyorsa, bu, Dispose uygulamasının iyi bir nedeni olabilir. senin atma yöntemi
Yapabileceğiniz: -
System.Runtime.InteropServices.Marshal.ReleaseComObject(myRCW);
Dolayısıyla sınıf derhal COM nesnesi yayınlayacak atarken.
Bu, RCW'nin Dispose desenini neden uygulamadığını merak etmeme neden oluyor, yapılması gereken doğru şey gibi görünüyor. – vmb100