好的,所以我正在将 VB6 应用程序升级到 VB.NET,但我不确定如何对正在构建的容器类的 class_terminate 组件进行现代化改造:
Private Sub class_terminate()
If Not (colUserMappings Is Nothing) Then
Set colUserMappings = Nothing
End If
End Sub
问题是 .NET 等价物.Finalize
留下了一些潜在的运行时错误,因为将容器的最终引用设置为空并不一定会破坏容器,因为 .NET 语言具有非确定性的终结。
既然如此,我将如何对集合类进行现代化改造,以使调用其终止或终结函数实际上会导致容器在最后被破坏?有没有好的解决方法?