Condividi tramite


WriteOnlyArrayAttribute Classe

Definizione

Se applicato a un parametro di matrice in un componente Windows Runtime, specifica che il contenuto di una matrice passata a tale parametro viene utilizzato solo per l'output. Il chiamante non garantisce che il contenuto sia inizializzato e che il metodo chiamato non debba 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:

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

  • Applicare l'attributo WriteOnlyArrayAttribute se si intende usare il 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 Passing matrici a un componente Windows Runtime nel Windows Dev Center.

Importante

I parametri con l'attributo WriteOnlyArrayAttribute si comportano in modo diverso a seconda che il 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ò fare ipotesi sul contenuto della matrice originale. Ad esempio, la matrice ricevuta dal metodo potrebbe non essere inizializzata o potrebbe contenere valori predefiniti. Si prevede che il metodo imposti i valori di tutti gli elementi nella matrice.

Se il chiamante è codice gestito, la matrice originale del chiamante viene passata al metodo chiamato, come in qualsiasi chiamata al 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 aspetto è importante da ricordare perché influisce sugli unit test scritti per un componente Windows Runtime. Se i test vengono scritti in codice gestito, il contenuto di una matrice apparirà modificabile durante il test e i risultati saranno probabilmente diversi se il metodo viene chiamato dal codice nativo in un secondo momento.

L'applicazione di questo attributo a un out parametro o a un parametro con l'attributo InAttribute genera un errore quando il modulo viene esportato. L'applicazione dell'attributo a un parametro con l'attributo causa un errore a meno che il parametro non abbia anche il modificatore /> Visual Basic

Costruttori

Nome Descrizione
WriteOnlyArrayAttribute()

Inizializza una nuova istanza della classe WriteOnlyArrayAttribute.

Proprietà

Nome Descrizione
TypeId

Se implementato in una classe derivata, ottiene un identificatore univoco per questo Attribute.

(Ereditato da Attribute)

Metodi

Nome Descrizione
Equals(Object)

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

(Ereditato da Attribute)
GetHashCode()

Restituisce il codice hash per questa istanza.

(Ereditato da Attribute)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()

Quando sottoposto a 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 è uguale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
_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 per un oggetto, che può essere utilizzato per ottenere le informazioni sul tipo per 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 alle proprietà e ai metodi esposti da un oggetto .

(Ereditato da Attribute)

Si applica a

Vedi anche