小编Axi*_*xis的帖子

在自身内将对象设置为null

只是想知道这是否是从内部终止对象的可接受方式?以来

this = null;
Run Code Online (Sandbox Code Playgroud)

不可能.我通常只设置一个名为dispos或something的bo​​ol,如果在终止后访问该对象则抛出异常.但后来这发生在我身上,我认为它可能是一个更清洁的解决方案,但它似乎有点hacky所以我想要第二个意见.我应该坚持设置一个布尔或与此一起去.这也可以让垃圾收集器清理我的对象.

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

c#

1
推荐指数
1
解决办法
1391
查看次数

标签 统计

c# ×1