Partager via


TransientAttribute Classe

Définition

Signale un paramter dans une sous-classe NSObject comme étant temporaire.

[System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false)]
public sealed class TransientAttribute : Attribute
type TransientAttribute = class
    inherit Attribute
Héritage
TransientAttribute
Attributs

Remarques

Cet attribut est appliqué aux paramètres et est utilisé uniquement lors de la transition d’Objective-C vers C#. Pendant ces transitions, les différents paramètres NSObjects Objective-C sont encapsulés dans une représentation managée de l’objet.

Le runtime prend une référence à l’objet natif et conserve la référence jusqu’à ce que la dernière référence managée à l’objet ait disparu et que le GC ait la possibilité de s’exécuter.

Dans certains cas, il est important que le runtime C# ne conserve pas de référence à l’objet natif. Cela se produit parfois lorsque le code natif sous-jacent a attaché un comportement spécial au cycle de vie du paramètre. Par exemple : le destructeur du paramètre effectue une action de nettoyage ou élimine une ressource précieuse.

Cet attribut informe le runtime que vous souhaitez que l’objet soit supprimé si possible lors du retour à Objective-C à partir de votre méthode remplacée.

La règle est simple : si le runtime doit créer une représentation managée à partir de l’objet natif, à la fin de la fonction, le nombre de rétentions de l’objet natif est supprimé et la propriété Handle de l’objet managé est effacée. Cela signifie que si vous conservez une référence à l’objet managé, cette référence devient inutile (l’appel de méthodes dessus lève une exception).

Si l’objet passé n’a pas été créé ou s’il y avait déjà une représentation managée en suspens de l’objet, la suppression forcée n’a pas lieu.

Constructeurs

TransientAttribute()

Initialise un nouvel attribut Transient.

S’applique à