WeakReference.Target Property
Gets or sets the object (the target) referenced by the current WeakReference object.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Property Value
Type: System.Objectnull if the object referenced by the current WeakReference object has been garbage collected; otherwise, a reference to the object referenced by the current WeakReference object.
| Exception | Condition |
|---|---|
| InvalidOperationException | The reference to the target object is invalid. This exception can be thrown while setting this property if the value is a null reference or if the object has been finalized during the set operation. |
The following example tries to obtain an object from a cache of objects with weak references. If the object was reclaimed for garbage collection, a new object is generated. This example is part of a larger example provided for the WeakReference class.
// Obtain an instance of a data // object from the cache of // of weak reference objects. Data d = _cache[index].Target as Data; if (d == null) { // Object was reclaimed, so generate a new one. Console.WriteLine("Regenerate object at {0}: Yes", index.ToString()); d = new Data(index); regenCount++; } else { // Object was obtained with the weak reference. Console.WriteLine("Regenerate object at {0}: No", index.ToString()); } return d;
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.