ReadOnlyArrayAttribute Clase

Definición

Cuando se aplica a un parámetro de matriz en un componente de Windows Runtime, especifica que el contenido de la matriz que se pasa a ese parámetro se usa para la entrada. El llamador espera que la llamada no modifique la matriz.

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
Herencia
ReadOnlyArrayAttribute
Atributos

Comentarios

Si se pasa un parámetro de matriz en el componente Windows Runtime por valor ( en Visual Basic), debe aplicar uno de los ByVal atributos siguientes:

  • Aplique el ReadOnlyArrayAttribute atributo si desea que el contenido de la matriz se utilice solo para la entrada.

  • Aplique el atributo si desea que el contenido de la matriz se utilice solo para la salida (es decir, el método establece el contenido de la matriz, pero no WriteOnlyArrayAttribute los lee).

La aplicación de ambos atributos a un parámetro produce un error. Para obtener más información, incluido el patrón estándar para realizar cambios en una matriz, vea Pasar matrices a un componente Windows Runtime en el Windows Centro de desarrollo.

Importante

Los parámetros que tienen el atributo se comportan de forma diferente en función de si el autor de la llamada ReadOnlyArrayAttribute está escrito en código nativo o código administrado. Si el autor de la llamada es código nativo (JavaScript o Visual C++ de componentes), la matriz se copia cuando la llamada cruza el límite de la interfaz binaria de aplicación (ABI). Si es necesario, se convierten los elementos. Por lo tanto, cualquier cambio accidental que el método realiza en una matriz solo de entrada no es visible para el llamador.

Si el autor de la llamada es código administrado, la matriz no se copia. La matriz original está disponible para el método llamado, como en cualquier llamada de método en el .NET Framework. El contenido de la matriz es mutable en el código de .NET Framework, por lo que los cambios que el método realice en la matriz son visibles para el llamador. Esto es importante recordarlo porque afecta a las pruebas unitarias escritas para un Windows runtime. Si las pruebas se escriben en código administrado, el contenido de una matriz parecerá mutable durante la prueba.

La aplicación de este atributo a un parámetro que tiene el atributo InAttribute o produce un error cuando se exporta el OutAttribute módulo. La aplicación del atributo a out un parámetro también produce un error.

Constructores

ReadOnlyArrayAttribute()

Inicializa una nueva instancia de la clase ReadOnlyArrayAttribute.

Propiedades

TypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.

(Heredado de Attribute)

Métodos

Equals(Object)

Devuelve un valor que indica si esta instancia es igual que un objeto especificado.

(Heredado de Attribute)
GetHashCode()

Devuelve el código hash de esta instancia.

(Heredado de Attribute)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IsDefaultAttribute()

Si se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada.

(Heredado de Attribute)
Match(Object)

Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado.

(Heredado de Attribute)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

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

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.

(Heredado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz.

(Heredado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1).

(Heredado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.

(Heredado de Attribute)

Se aplica a

Consulte también