以下のコードを参照してください。デストラクタは決して呼び出されません。誰がなぜ、どのようにこれを修正することができるのか分かりますか?スタティックインスタンス、デストラクタが呼び出されない
public partial class Form1 : Form
{
private Goo goo;
public Form1()
{
InitializeComponent();
goo = Goo.GetInstance();
}
}
public class Goo
{
private foo f = new foo();
private static Goo goo;
private Goo()
{}
public static Goo GetInstance()
{
if(goo!=null)
{
goo = new Goo();
}
return goo;
}
~Goo()
{
}
}
class foo
{
~foo()
{
}
}
なぜdtor/finalizerが異なるのですか? C#のdtorはFinalizeにマッピングされます。 –
デストラクタとファイナライザ - どちらの用語も、公式文書では互換的に使用されています。使用された言葉は行動に影響しません... –
@Marc:私はそれをデストラクタと呼んだことはありません。あなたはそうするリンクで返答することができますか? –