これが、オブジェクトを内部から終了するための受け入れ可能な方法であるかどうか疑問に思っていますか? 以来
this = null;
不可能です。私は通常、discarded または何かと呼ばれる bool を設定し、オブジェクトを終了した後にアクセスされた場合に例外をスローします。しかし、これは私に起こり、それはよりクリーンな解決策かもしれないと思いましたが、少しハックなように見えるので、セカンドオピニオンが必要でした. ブール値の設定に固執するか、これを使用する必要があります。これにより、ガベージ コレクターがオブジェクトをクリーンアップすることもできます。
public class A
{
public A()
{
}
public void Method()
{
try
{
//Do Something.
}
catch
{
//If it fails destroy the object
Destroy(this);
}
}
private static void Destroy(A a)
{
a = null;
}
}