ReadOnlyArrayAttribute ReadOnlyArrayAttribute ReadOnlyArrayAttribute ReadOnlyArrayAttribute 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'input.When applied to an array parameter in a Windows Runtime component, specifies that the contents of the array that is passed to that parameter are used only for input. Il chiamante prevede che la matrice resti invariata dopo la chiamata.The caller expects the array to be unchanged by the call.

public ref class ReadOnlyArrayAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false, Inherited=false)]
public sealed class ReadOnlyArrayAttribute : Attribute
type ReadOnlyArrayAttribute = class
    inherit Attribute
Public NotInheritable Class ReadOnlyArrayAttribute
Inherits Attribute
Ereditarietà
ReadOnlyArrayAttributeReadOnlyArrayAttributeReadOnlyArrayAttributeReadOnlyArrayAttribute
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 ReadOnlyArrayAttribute si comportano in modo diverso a seconda del fatto che il chiamante sia scritto in codice nativo o codice gestito.Parameters that have the ReadOnlyArrayAttribute 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), la matrice viene copiata quando la chiamata attraversa il limite dell'interfaccia binaria (ABI).If the caller is native code (JavaScript or Visual C++ component extensions), the array is copied when the call crosses the application binary interface (ABI) boundary. Se necessario, gli elementi vengono convertiti.Elements are converted if necessary. Di conseguenza, eventuali modifiche effettuate dal metodo a una matrice di solo input non saranno visibili al chiamante.Therefore, any accidental changes the method makes to an input-only array are not visible to the caller.

Se il chiamante viene gestito il codice, la matrice non viene copiato.If the caller is managed code, the array is not copied. La matrice originale è disponibile per il metodo chiamato, come lo sarebbe in qualsiasi chiamata al metodo in .NET Framework.The original array is available to the called method, as it would be in any method call in the .NET Framework. Dal momento che il contenuto della matrice è modificabile nel codice .NET Framework, eventuali modifiche apportate dal metodo alla matrice sono visibili al chiamante.Array contents are mutable in .NET Framework code, so any changes the method makes to the array are visible to the caller. È 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.If the tests are written in managed code, the contents of an array will appear to be mutable during testing.

Applicando questo attributo a un parametro con il InAttribute o OutAttribute attributo causa un errore quando il modulo verrà esportato.Applying this attribute to a parameter that has the InAttribute or OutAttribute attribute causes an error when the module is exported. Applicando l'attributo a un out parametro anche causa un errore.Applying the attribute to an out parameter also causes an error.

Costruttori

ReadOnlyArrayAttribute() ReadOnlyArrayAttribute() ReadOnlyArrayAttribute() ReadOnlyArrayAttribute()

Inizializza una nuova istanza della classe ReadOnlyArrayAttribute.Initializes a new instance of the ReadOnlyArrayAttribute 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