Files
mirror-processhacker/trunk/ProcessHacker.Common/WeakReference.cs
T
wj32 c3b0d68a10 * improved reference counting
* fixed NPH typo
* added process handle reference in SymbolProvider

git-svn-id: svn://svn.code.sf.net/p/processhacker/code@1391 21ef857c-d57f-4fe0-8362-d861dc6d29cd
2009-06-08 00:44:03 +00:00

40 lines
887 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 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; }
}
}
}