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 de Windows Runtime por valor (ByVal en Visual Basic), debe aplicar uno de los siguientes atributos a él:

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

  • Aplique el WriteOnlyArrayAttribute atributo si pretende que el contenido de la matriz se use solo para la salida (es decir, el método establece el contenido de la matriz, pero no 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, consulta Pasar matrices a un componente Windows Runtime en el Centro de desarrollo de Windows.

Importante

Los parámetros que tienen el ReadOnlyArrayAttribute atributo se comportan de forma diferente en función de si el autor de la llamada se escribe en código nativo o código administrado. Si el autor de la llamada es código nativo (extensiones de componentes de JavaScript o Visual C++), la matriz se copia cuando la llamada cruza el límite de la interfaz binaria de la 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, ya que estaría en cualquier llamada de método en .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 recordar porque afecta a las pruebas unitarias escritas para un componente de 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 InAttribute atributo o OutAttribute provoca un error cuando se exporta el módulo. La aplicación del atributo a un out 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