Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C中类_Terminate()的等价项#_C# - Fatal编程技术网

C# C中类_Terminate()的等价项#

C# C中类_Terminate()的等价项#,c#,C#,在VB 6.0中,对于一个类,我有: Private Sub Class_Terminate() Call MethodFoo(False) Set objet1 = Nothing Set object2 = Nothing End Sub 现在我需要在C#中做同样的事情,我不太担心这两个空对象,但是被调用的那个该死的MethodFoo()我需要那个。在它的C#等价类中,哪里有一个安全的地方可以添加它?(而不是在Finalizer方法中),我已经收到了奇怪的错误,因为在我的C#类

在VB 6.0中,对于一个类,我有:

Private Sub Class_Terminate()
  Call MethodFoo(False)
  Set objet1 = Nothing
  Set object2 = Nothing
End Sub
现在我需要在C#中做同样的事情,我不太担心这两个空对象,但是被调用的那个该死的MethodFoo()我需要那个。在它的C#等价类中,哪里有一个安全的地方可以添加它?(而不是在Finalizer方法中),我已经收到了奇怪的错误,因为在我的C#类中有这个Finalizer方法,我也想摆脱它。

C#是垃圾收集的,这意味着没有确定性对象清理


相反,您应该实现
IDisposable
并在块内使用您的类。

C#是垃圾收集的,这意味着没有确定性对象清理


相反,您应该实现
IDisposable
,并在块内使用您的类。

在C#中应该避免使用自定义终结器,因为它们被垃圾收集器称为非确定性终结器


实现
IDisposable
接口并改用
Dispose()
方法是一篇如何正确执行的文章。

在C#中应避免使用自定义终结器,因为它们被垃圾收集器称为非确定性终结器


实现
IDisposable
接口并改用
Dispose()
方法是一篇如何正确地执行此操作的文章。

在.NET中没有等价物,也没有确定性破坏。使用IDispose是最接近的。在.NET中没有等价物,也没有确定性破坏。使用IDispose是最接近的方法。“并在Using()块中使用您的类”。。你能再解释一下吗?我知道什么是用积木,但我不明白我用积木是什么意思?并在using()块中使用您的类。。你能再解释一下吗?我知道什么是用积木,但我不明白我用积木是什么意思?在消费者中?