在代码中找不到引用的实例

时间:2014-08-04 07:33:55

标签: c# reflection garbage-collection

任何人都可以想到一种在代码中找到类实例的方法,以便它可以使用吗? (没有它的参考开始)

class FindMeClass
{
    internal FindMeClass()
    {
        Console.WriteLine("FindMeClass()");
    }

    ~FindMeClass()
    {
        Console.WriteLine("~FindMeClass()");
    }
}

static void FindMe()
{
    new FindMeClass();
    // Find the class here
    GC.Collect();
    GC.WaitForPendingFinalizers();
}

1 个答案:

答案 0 :(得分:0)

在对象的析构函数中,您可以在全局静态对象中对它进行引用。

这样你就可以恢复对象,它又可以再次访问,不会被垃圾回收。

不要忘记重新注册垃圾回收对象。请参阅:Usages of object resurrection

一般情况下:这是浪费精力,只需保留对您不想删除的对象的引用。