ReadOnlyArrayAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Se applicato a un parametro di matrice in un componente Windows Runtime, specifica che il contenuto della matrice passato a tale parametro viene utilizzato solo per l'input. Il chiamante prevede che la matrice venga modificata dalla chiamata.
public ref class ReadOnlyArrayAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false, Inherited=false)]
public sealed class ReadOnlyArrayAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false, Inherited=false)>]
type ReadOnlyArrayAttribute = class
inherit Attribute
Public NotInheritable Class ReadOnlyArrayAttribute
Inherits Attribute
- Ereditarietà
- 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 ReadOnlyArrayAttribute 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++), la matrice viene copiata quando la chiamata supera il limite dell'interfaccia ABI (Application Binary Interface). Se necessario, gli elementi vengono convertiti. Pertanto, tutte le modifiche accidentali apportate dal metodo a una matrice di solo input non sono visibili al chiamante.
Se il chiamante è codice gestito, la matrice non viene copiata. La matrice originale è disponibile per il metodo chiamato, come in qualsiasi chiamata al metodo in .NET Framework. Il contenuto della matrice è modificabile nel codice di .NET Framework, pertanto tutte le modifiche apportate dal metodo alla matrice sono visibili al chiamante. 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.
L'applicazione di questo attributo a un parametro con l'attributo InAttribute o OutAttribute genera un errore quando il modulo viene esportato. L'applicazione dell'attributo a un out parametro genera anche un errore.
Costruttori
| Nome | Descrizione |
|---|---|
| ReadOnlyArrayAttribute() |
Inizializza una nuova istanza della classe ReadOnlyArrayAttribute. |
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) |