WriteOnlyArrayAttribute Classe

Definizione

Quando applicato al parametro di una matrice in un componente di Windows Runtime, specifica che il contenuto della matrice passata al parametro viene usato solo per l'output. Il chiamante non garantisce la corretta inizializzazione del contenuto e il metodo chiamato non deve leggere il contenuto.

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
Ereditarietà
WriteOnlyArrayAttribute
Attributi

Commenti

Se un parametro di matrice nel componente Windows Runtime viene passato per valore (ByVal in Visual Basic), è necessario applicare uno degli attributi seguenti al componente:

  • Applicare l'attributo se si intende utilizzare il contenuto della matrice solo per l'input ReadOnlyArrayAttribute .

  • Applicare l'attributo se si intende utilizzare il WriteOnlyArrayAttribute contenuto della matrice solo per l'output, ovvero il metodo imposta il contenuto della matrice ma non li legge.

L'applicazione di entrambi gli attributi a un parametro causa un errore. Per altre informazioni, incluso il modello standard per apportare modifiche a una matrice, vedere Passaggio di matrici a un componente Windows Runtime in Windows Dev Center.

Importante

I parametri con l'attributo si comportano in modo diverso a seconda che il WriteOnlyArrayAttribute chiamante sia scritto nel codice nativo o nel codice gestito. Se il chiamante è codice nativo (estensioni del componente JavaScript o Visual C++), il metodo chiamato non può effettuare ipotesi sul contenuto della matrice originale. Ad esempio, la matrice che il metodo riceve potrebbe non essere inizializzata o contenere valori predefiniti. È previsto che il metodo imposti i valori di tutti gli elementi della matrice.

Se il chiamante è codice gestito, la matrice originale del chiamante viene passata al metodo chiamato, come sarebbe in qualsiasi chiamata di metodo in .NET Framework. Il contenuto della matrice è modificabile nel codice gestito, in modo che il metodo possa leggere e modificare in modo selettivo tali valori. Questo è importante ricordare perché influisce sugli unit test scritti per un componente Windows Runtime. Se i test vengono scritti nel codice gestito, il contenuto di una matrice apparirà modificabile durante il test e i risultati potrebbero essere diversi se il metodo viene chiamato dal codice nativo in un secondo momento.

L'applicazione di questo attributo a un parametro o a un out parametro con l'attributo InAttribute causa un errore quando il modulo viene esportato. L'applicazione dell'attributo a un parametro con l'attributo OutAttribute causa un errore a meno che il parametro non abbia anche il modificatore Visual Basic ByRef . In questo caso, l'attributo è ridondante ma consentito.

Costruttori

WriteOnlyArrayAttribute()

Inizializza una nuova istanza della classe WriteOnlyArrayAttribute.

Proprietà

TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.

(Ereditato da Attribute)

Metodi

Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

(Ereditato da Attribute)
GetHashCode()

Restituisce il codice hash per l'istanza.

(Ereditato da Attribute)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.

(Ereditato da Attribute)
Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.

(Ereditato da Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).

(Ereditato da Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.

(Ereditato da Attribute)

Si applica a

Vedi anche