WriteOnlyArrayAttribute 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.
Quand il s’applique à un paramètre de tableau dans un composant Windows Runtime, spécifie que le contenu d’un tableau passé à ce paramètre est utilisé uniquement pour la sortie. L'appelant ne garantit pas que le contenu est initialisé, et la méthode appelée ne doit pas lire le contenu.
public ref class WriteOnlyArrayAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false, Inherited=false)]
public sealed class WriteOnlyArrayAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false, Inherited=false)>]
type WriteOnlyArrayAttribute = class
inherit Attribute
Public NotInheritable Class WriteOnlyArrayAttribute
Inherits Attribute
- Héritage
- Attributs
Remarques
Si un paramètre de tableau dans votre composant Windows Runtime est passé par valeur (ByVal
en Visual Basic), vous devez lui appliquer l’un des attributs suivants :
Appliquez l’attribut ReadOnlyArrayAttribute si vous souhaitez 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 sur le modèle standard pour apporter des modifications à un tableau, consultez Passage de tableaux à un composant Windows Runtime dans le Centre de développement Windows.
Important
Les paramètres qui ont l’attribut WriteOnlyArrayAttribute se comportent différemment selon que l’appelant est écrit en code natif ou en code managé. Si l’appelant est du code natif (extensions de composants JavaScript ou Visual C++), la méthode appelée ne peut pas faire d’hypothèses sur le contenu du tableau d’origine. Par exemple, le tableau reçu par la méthode peut ne pas être initialisé ou peut contenir des valeurs par défaut. La méthode est censée définir les valeurs de tous les éléments du tableau.
Si l’appelant est du code managé, le tableau d’origine de l’appelant est passé à la méthode appelée, comme dans n’importe quel appel de méthode dans le .NET Framework. Le contenu du tableau étant mutable dans le code managé, la méthode peut lire et modifier ces valeurs de manière sélective. Il est important de le rappeler, car cela 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 être mutable pendant le test, et les résultats sont susceptibles d’être différents si la méthode est appelée ultérieurement à partir du code natif.
L’application de cet attribut à un out
paramètre ou à un paramètre qui a l’attribut InAttribute provoque une erreur lorsque le module est exporté. L’application de l’attribut à un paramètre qui a l’attribut OutAttribute provoque une erreur, sauf si le paramètre a également le modificateur Visual Basic ByRef
. Dans ce cas, l’attribut est redondant mais autorisé.
Constructeurs
WriteOnlyArrayAttribute() |
Initialise une nouvelle instance de la classe WriteOnlyArrayAttribute. |
Propriétés
TypeId |
Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute. (Hérité de Attribute) |
Méthodes
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 de cette instance. (Hérité de Attribute) |
GetType() |
Obtient le 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 pour la classe dérivée. (Hérité de Attribute) |
Match(Object) |
En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
_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 pour 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 aux méthodes exposées par un objet. (Hérité de Attribute) |