UnscopedRefAttribute Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Utilisé pour indiquer des échappements byref et n’est pas délimité.
public ref class UnscopedRefAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method | System.AttributeTargets.Parameter | System.AttributeTargets.Property, AllowMultiple=false, Inherited=false)]
public sealed class UnscopedRefAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method | System.AttributeTargets.Parameter | System.AttributeTargets.Property, AllowMultiple=false, Inherited=false)>]
type UnscopedRefAttribute = class
inherit Attribute
Public NotInheritable Class UnscopedRefAttribute
Inherits Attribute
- Héritage
- Attributs
Remarques
Il existe plusieurs cas où le compilateur C# traite implicitement ref un scoped compilateur, où le compilateur n’autorise pas l’échappement ref de la méthode.
Par exemple:
-
thisparstructexemple, méthodes. - Paramètres
refqui font référence aux typesref struct. - Paramètres
out.
Cet attribut est utilisé dans les instances où l’élément ref doit être autorisé à s’échapper.
L’application de cet attribut, sous n’importe quel formulaire, affecte les consommateurs de l’API applicable. Il est nécessaire pour les auteurs d’API de comprendre les implications de la durée de vie de l’application de cet attribut et de la façon dont il peut avoir un impact sur leurs utilisateurs.
<format type="text/markdown »>
Cet attribut est spécialement reconnu par le runtime. ECMA-335 augmente III.1.7.7 définit des restrictions sur l’il valide qui fait référence à cet attribut. Par exemple, lorsque cet attribut est appliqué à une méthode d’instance d’un type valeur, l’argument this est autorisé à échapper à la méthode. Lorsque l’attribut est absent, un compilateur d’optimisation peut s’appuyer sur this ne pas s’échapper pour optimiser davantage certains modèles de code, tels que l’élimination de la boxe. Pour plus d’informations, consultez l’addenda de spécification ECMA-335 CLI, Sec.1.1.7.7 (« Restrictions d’adhésion »).
Étant donné que le runtime s’appuie sur cet attribut, il ne peut pas être supprimé d’un assembly. Les restrictions définies par l’extension III.1.7.7 s’appliquent uniquement lorsque le <xref :System.Runtime.CompilerServices.RefSafetyRulesAttribute> est présent sur le module. Cet attribut a donc son effet documenté uniquement dans un module qui est également annoté avec « RefSafetyRulesAttribute ».
</Format>
Constructeurs
| Nom | Description |
|---|---|
| UnscopedRefAttribute() |
Initialise une nouvelle instance de la classe UnscopedRefAttribute. |
Propriétés
| Nom | Description |
|---|---|
| TypeId |
En cas d’implémentation dans une classe dérivée, obtient un identificateur unique pour cette Attribute. (Hérité de Attribute) |
Méthodes
| Nom | Description |
|---|---|
| Equals(Object) |
Retourne une valeur qui indique si cette instance est égale à un objet spécifié. (Hérité de Attribute) |
| GetHashCode() |
Retourne le code de hachage pour cette instance. (Hérité de Attribute) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| IsDefaultAttribute() |
En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut de la classe dérivée. (Hérité de Attribute) |
| Match(Object) |
En cas de substitution dans une classe dérivée, retourne une valeur qui indique si cette instance est égale à un objet spécifié. (Hérité de Attribute) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |