Files
mirror-processhacker/1.x/trunk/ProcessHacker.Common/WeakReference.cs
T
dmex ccfa57bb01 PH1.x: Replaced ConextMenu controls
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@4772 21ef857c-d57f-4fe0-8362-d861dc6d29cd
2011-10-28 20:15:00 +00:00

40 lines
896 B
C#

using System;
namespace ProcessHacker.Common
{
public class WeakReference<T>
where T : class
{
public static implicit operator T(WeakReference<T> reference)
{
return reference.Target;
}
private readonly WeakReference _weakReference;
public WeakReference(T obj)
: this(obj, false)
{ }
public WeakReference(T obj, bool trackResurrection)
{
_weakReference = new WeakReference(obj, trackResurrection);
}
public bool Alive
{
get { return _weakReference.IsAlive; }
}
public bool TrackResurrection
{
get { return _weakReference.TrackResurrection; }
}
public T Target
{
get { return _weakReference.Target as T; }
}
}
}