C# を使用します。
私は MainFoo クラスを持っています:
class MainFoo
{
private Foo foo;
public MainFoo()
{
this.foo = new Foo();
}
public CreateNewFoo()
{
this.foo = new Foo();
}
public DoCurrentFoo()
{
this.foo.Do();
}
}
Foo クラス:
class Foo
{
~Foo()
{
this.DoEnd();
}
public void Do() {}
private void DoEnd() {}
}
get が再度初期化されるたびにDoEnd()
、Fooクラスのメソッドを呼び出せるようにしたいと考えています。private Foo;
このメソッドDoEnd()
は非公開であり、そのままにしておきたい(そのため からはアクセスできないMainFoo
)。
同じ Foo get が再び初期化されるため、インスタンスはその参照を失い、デストラクタを呼び出すと思います。ただし、これはインスタンスが参照を失った場合にのみ呼び出されMainFoo
ます。
質問: 参照を失ったときにオブジェクト インスタンスを破棄する方法を教えてください。