WeakReference.cs 827 B

1234567891011121314151617181920212223242526272829303132
  1. using System;
  2. namespace Quadarax.Foundation.Core.Object
  3. {
  4. /// <summary>
  5. /// Strongly typed version of <see cref="WeakReference"/>.
  6. /// </summary>
  7. /// <typeparam name="TReference"></typeparam>
  8. public class WeakReference<TReference> : WeakReference
  9. where TReference : class
  10. {
  11. public WeakReference(TReference target)
  12. : base(target)
  13. {
  14. }
  15. public WeakReference(TReference target, bool trackResurrection)
  16. : base(target, trackResurrection)
  17. {
  18. }
  19. /// <summary>
  20. /// Strongly typed version of <see cref="WeakReference.Target"/>.
  21. /// </summary>
  22. public new TReference? Target
  23. {
  24. get { return base.Target as TReference; }
  25. set { base.Target = value; }
  26. }
  27. }
  28. }