WriteOnlyArrayAttribute Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Cuando se aplica a un parámetro de matriz en un componente de Windows Runtime, especifica que el contenido de una matriz que se pasa a ese parámetro se usa para la salida. El llamador no garantiza que se inicialice el contenido y el método al que se ha llamado no debe leer el contenido.
public ref class WriteOnlyArrayAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false, Inherited=false)]
public sealed class WriteOnlyArrayAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false, Inherited=false)>]
type WriteOnlyArrayAttribute = class
inherit Attribute
Public NotInheritable Class WriteOnlyArrayAttribute
Inherits Attribute
- Herencia
- 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:
Aplique el ReadOnlyArrayAttribute atributo si piensa que el contenido de la matriz se use solo para la entrada.
Aplique el WriteOnlyArrayAttribute atributo si piensa 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 de Windows Runtime en el Centro de desarrollo de Windows.
Importante
Los parámetros que tienen el WriteOnlyArrayAttribute atributo se comportan de forma diferente en función de si el autor de la llamada se escribe en código nativo o en código administrado. Si el llamador es código nativo (extensiones de componentes de JavaScript o Visual C++), el método llamado no puede realizar suposiciones sobre el contenido de la matriz original. Por ejemplo, la matriz que recibe el método podría no inicializarse o podría contener valores predeterminados. Se espera que el método establezca los valores de todos los elementos de la matriz.
Si el autor de la llamada es código administrado, la matriz original del autor de la llamada se pasa al método llamado, como lo haría en cualquier llamada de método en .NET Framework. El contenido de la matriz es mutable en código administrado, por lo que el método puede leer y cambiar de forma selectiva esos valores. 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, parecerá que el contenido de una matriz es mutable durante las pruebas y es probable que los resultados sean diferentes si se llama al método desde código nativo más adelante.
Al aplicar este atributo a un out
parámetro o a un parámetro que tiene el InAttribute atributo , se produce un error cuando se exporta el módulo. Si se aplica el atributo a un parámetro que tiene el OutAttribute atributo , se produce un error a menos que el parámetro también tenga el modificador de Visual Basic ByRef
. En ese caso, el atributo es redundante pero se permite.
Constructores
WriteOnlyArrayAttribute() |
Inicializa una nueva instancia de la clase WriteOnlyArrayAttribute. |
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) |