ReadOnlyArrayAttribute 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.
Lorsqu’il est appliqué à un paramètre de tableau dans un composant Windows Runtime, spécifie que le contenu du tableau passé à ce paramètre est utilisé uniquement pour l’entrée. L’appelant s’attend à ce que le tableau soit inchangé par l’appel.
public ref class ReadOnlyArrayAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false, Inherited=false)]
public sealed class ReadOnlyArrayAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false, Inherited=false)>]
type ReadOnlyArrayAttribute = class
inherit Attribute
Public NotInheritable Class ReadOnlyArrayAttribute
Inherits Attribute
- Héritage
- Attributs
Remarques
Si un paramètre de tableau dans votre composant Windows Runtime est passé par valeur (ByVal dans Visual Basic), vous devez appliquer l’un des attributs suivants :
Appliquez l’attribut ReadOnlyArrayAttribute si vous envisagez que le contenu du tableau soit utilisé uniquement pour l’entrée.
Appliquez l’attribut WriteOnlyArrayAttribute si vous envisagez que le contenu du tableau soit utilisé uniquement pour la sortie (autrement dit, la méthode définit le contenu du tableau, mais ne les lit pas).
L’application des deux attributs à un paramètre provoque une erreur. Pour plus d’informations, notamment le modèle standard pour apporter des modifications à un tableau, consultez Passing arrays to a Windows Runtime component dans le centre de développement Windows.
Important
Les paramètres qui ont l’attribut ReadOnlyArrayAttribute se comportent différemment selon que l’appelant est écrit dans du code natif ou du code managé. Si l’appelant est du code natif (extensions de composant JavaScript ou Visual C++), le tableau est copié lorsque l’appel traverse la limite de l’interface binaire de l’application (ABI). Les éléments sont convertis si nécessaire. Par conséquent, les modifications accidentelles apportées par la méthode à un tableau d’entrée uniquement ne sont pas visibles par l’appelant.
Si l’appelant est du code managé, le tableau n’est pas copié. Le tableau d’origine est disponible pour la méthode appelée, comme dans n’importe quel appel de méthode dans le .NET Framework. Le contenu du tableau est mutable dans .NET code Framework. Les modifications apportées à la méthode sont donc visibles par l’appelant. Il est important de se rappeler qu’il affecte les tests unitaires écrits pour un composant Windows Runtime. Si les tests sont écrits dans du code managé, le contenu d’un tableau semble mutable pendant le test.
L’application de cet attribut à un paramètre avec l’attribut ou OutAttribute l’attribut InAttribute provoque une erreur lors de l’exportation du module. L’application de l’attribut à un out paramètre provoque également une erreur.
Constructeurs
| Nom | Description |
|---|---|
| ReadOnlyArrayAttribute() |
Initialise une nouvelle instance de la classe ReadOnlyArrayAttribute. |
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) |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch. (Hérité de Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Récupère les informations de type d’un objet, qui peuvent être utilisées pour obtenir les informations de type d’une interface. (Hérité de Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1). (Hérité de Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fournit l’accès aux propriétés et méthodes exposées par un objet. (Hérité de Attribute) |