class MyWeakClass
{
public string world = "hello";
}
class Program
{
static void Main(string[] args)
{
MyWeakClass weakClass = new MyWeakClass();
WeakReference weakClassRefrence = new WeakReference(weakClass);
if (weakClassRefrence.IsAlive)
{
MyWeakClass weakClass2 = weakClassRefrence.Target as MyWeakClass;
weakClass2.world = "hello weakRefrence";
Console.WriteLine(weakClass2.world);
}
else
{
Console.WriteLine("weakClassRefrence is not available");
}
GC.Collect();
if (weakClassRefrence.IsAlive)
{
Console.WriteLine("After GC weakClassRefrence is available,you can use the weakRefrence");
}
else
{
Console.WriteLine("After GC weakClassRefrence is not available");
}
}
}