WeakReference.Target Proprietà

Definizione

Ottiene o imposta l'oggetto o la destinazione a cui fa riferimento l'oggetto WeakReference corrente.Gets or sets the object (the target) referenced by the current WeakReference object.

public:
 virtual property System::Object ^ Target { System::Object ^ get(); void set(System::Object ^ value); };
public virtual object Target { get; set; }
member this.Target : obj with get, set
Public Overridable Property Target As Object

Valore della proprietà

null se l'oggetto cui fa riferimento l'oggetto WeakReference è stato sottoposto alla procedura di Garbage Collection. In caso contrario un riferimento all'oggetto cui fa riferimento l'oggetto WeakReference corrente.null 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.

Eccezioni

Il riferimento all'oggetto di destinazione non è valido.The reference to the target object is invalid. Questa eccezione può essere generata durante l'impostazione della proprietà se il valore è un riferimento null o se l'oggetto è stato completato durante l'operazione di impostazione.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.

Esempi

Nell'esempio seguente si tenta di ottenere un oggetto da una cache di oggetti con riferimenti deboli.The following example tries to obtain an object from a cache of objects with weak references. Se l'oggetto è stato recuperato per Garbage Collection, viene generato un nuovo oggetto.If the object was reclaimed for garbage collection, a new object is generated. Questo esempio fa parte di un esempio più ampio fornito per WeakReference la classe.This example is part of a larger example provided for the WeakReference class.

Data d = _cache[index].Target as Data;
if (d == null) {
    // If the object was reclaimed, generate a new one.
    Console.WriteLine("Regenerate object at {0}: Yes", index);
    d = new Data(index);
    _cache[index].Target = d;
    regenCount++;
}
else {
    // Object was obtained with the weak reference.
    Console.WriteLine("Regenerate object at {0}: No", index);
}

return d;
 Dim d As Data = TryCast(_cache(index).Target, Data)
 ' If the object was reclaimed, generate a new one.
 If d Is Nothing Then 
     Console.WriteLine("Regenerate object at {0}: Yes", index)
     d = New Data(index)
     _cache(index).Target = d
     regenCount += 1
Else 
     ' Object was obtained with the weak reference.
     Console.WriteLine("Regenerate object at {0}: No", index.ToString())
 End If 
 Return d

Commenti

Dopo aver impostato questa proprietà sull'oggetto di destinazione, verificare che non siano presenti altri riferimenti sicuri all'oggetto; in caso contrario, non verrà raccolto.After setting this property to the target object, make sure that there are no other strong references to the object; otherwise, it will not be collected.

Si applica a

Vedi anche