Compartir a través de


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 solo se usa para la entrada. El autor de la llamada espera que la llamada no cambie 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 aplicarle uno de los atributos siguientes:

  • Aplique el ReadOnlyArrayAttribute atributo si piensa que el contenido de la matriz se usará 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, consulte Passing arrays to a Windows Runtime component in the Windows Dev Center.

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). Los elementos se convierten si es necesario. Por lo tanto, los cambios accidentales que realiza el método en una matriz de solo entrada no son visibles para el autor de la llamada.

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 .NET código de Framework, por lo que los cambios que realiza el método en la matriz son visibles para el autor de la llamada. 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 las pruebas.

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

Constructores

Nombre Description
ReadOnlyArrayAttribute()

Inicializa una nueva instancia de la clase ReadOnlyArrayAttribute.

Propiedades

Nombre Description
TypeId

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

(Heredado de Attribute)

Métodos

Nombre Description
Equals(Object)

Devuelve un valor que indica si esta instancia es igual a 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()

Cuando 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 reemplaza 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 Objectactual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

Nombre Description
_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)

Recupera la información de tipo de un objeto, que se puede usar para obtener la información de tipo 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 propiedades y métodos expuestos por un objeto .

(Heredado de Attribute)

Se aplica a

Consulte también