WriteOnlyArrayAttribute WriteOnlyArrayAttribute WriteOnlyArrayAttribute WriteOnlyArrayAttribute Class

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.When applied to an array parameter in a Windows Runtime component, specifies that the contents of an array that is passed to that parameter are used only for output. Il chiamante non garantisce la corretta inizializzazione del contenuto e il metodo chiamato non deve leggere il contenuto.The caller does not guarantee that the contents are initialized, and the called method should not read the contents.

public ref class WriteOnlyArrayAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false, Inherited=false)]
public sealed class WriteOnlyArrayAttribute : Attribute
type WriteOnlyArrayAttribute = class
    inherit Attribute
Public NotInheritable Class WriteOnlyArrayAttribute
Inherits Attribute
Ereditarietà
WriteOnlyArrayAttributeWriteOnlyArrayAttributeWriteOnlyArrayAttributeWriteOnlyArrayAttribute
Attributi

Commenti

Se un parametro di matrice nel Windows RuntimeWindows Runtime componente viene passato per valore (ByVal in Visual Basic), è necessario applicare uno dei seguenti attributi a esso:If an array parameter in your Windows RuntimeWindows Runtime component is passed by value (ByVal in Visual Basic), you must apply one of the following attributes to it:

  • Applicare il ReadOnlyArrayAttribute attributo se si intende il contenuto della matrice da utilizzare per l'input solo.Apply the ReadOnlyArrayAttribute attribute if you intend the contents of the array to be used for input only.

  • Applicare il WriteOnlyArrayAttribute attributo se si intende il contenuto della matrice da utilizzare per l'output solo (vale a dire, il metodo imposta il contenuto della matrice, ma non li legge).Apply the WriteOnlyArrayAttribute attribute if you intend the contents of the array to be used for output only (that is, the method sets the contents of the array but does not read them).

L'applicazione di entrambi gli attributi a un parametro provoca un errore.Applying both attributes to a parameter causes an error. Per altre informazioni, tra cui il modello standard per apportare modifiche a una matrice, vedere passaggio di matrici a un componente Windows Runtime in Windows Dev Center.For more information, including the standard pattern for making changes to an array, see Passing arrays to a Windows Runtime component in the Windows Dev Center.

Importante

I parametri che hanno il WriteOnlyArrayAttribute si comportano in modo diverso a seconda del fatto che il chiamante sia scritto in codice nativo o codice gestito.Parameters that have the WriteOnlyArrayAttribute attribute behave differently depending on whether the caller is written in native code or managed code. Se il chiamante è il codice nativo (estensioni del componente Visual C++ o JavaScript), il metodo chiamato non può fare supposizioni sul contenuto della matrice originale.If the caller is native code (JavaScript or Visual C++ component extensions), the called method can't make any assumptions about the contents of the original array. Ad esempio, la matrice che il metodo riceve potrebbe non essere inizializzata o contenere valori predefiniti.For example, the array the method receives might not be initialized, or might contain default values. È previsto che il metodo imposti i valori di tutti gli elementi della matrice.The method is expected to set the values of all the elements in the array.

Se il chiamante viene gestito il codice, il chiamante originale matrice viene passata al metodo chiamato, come lo sarebbe in qualsiasi chiamata al metodo in .NET Framework.If the caller is managed code, the caller's original array is passed to the called method, as it would be in any method call in the .NET Framework. Contenuto della matrice è modificabile nel codice gestito, in modo che il metodo può leggere e modificare tali valori in modo selettivo.Array contents are mutable in managed code, so the method can selectively read and change those values. È importante ricordarlo perché interessa gli unit test scritti per un componente di Windows RuntimeWindows Runtime.This is important to remember because it affects unit tests written for a Windows RuntimeWindows Runtime component. Se i test sono scritti in codice gestito, il contenuto di una matrice risulterà modificabile durante il test e i risultati sono probabilmente diverso se il metodo viene chiamato da codice nativo in un secondo momento.If the tests are written in managed code, the contents of an array will appear to be mutable during testing, and the results are likely to be different if the method is called from native code later.

Applicazione di questo attributo a un out parametro o a un parametro che ha il InAttribute attributo causa un errore quando il modulo verrà esportato.Applying this attribute to an out parameter or to a parameter that has the InAttribute attribute causes an error when the module is exported. Applicando l'attributo a un parametro con il OutAttribute attributo causa un errore, a meno che il parametro dispone anche di Visual Basic ByRef modificatore.Applying the attribute to a parameter that has the OutAttribute attribute causes an error unless the parameter also has the Visual Basic ByRef modifier. In tal caso, l'attributo è consentito ma ridondanti.In that case, the attribute is redundant but allowed.

Costruttori

WriteOnlyArrayAttribute() WriteOnlyArrayAttribute() WriteOnlyArrayAttribute() WriteOnlyArrayAttribute()

Inizializza una nuova istanza della classe WriteOnlyArrayAttribute.Initializes a new instance of the WriteOnlyArrayAttribute class.

Metodi

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Restituisce il codice hash per l'istanza.Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _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.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Proprietà

TypeId TypeId TypeId TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Si applica a

Vedi anche