ReadOnlyArrayAttribute Classe

Definição

Quando aplicado a um parâmetro de array num componente do Windows Runtime, especifica que o conteúdo do array que é passado para esse parâmetro é usado apenas para entrada. O chamador espera que o array permaneça inalterado com a chamada.

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
Herança
ReadOnlyArrayAttribute
Atributos

Observações

Se um parâmetro de array no seu componente de Windows Runtime for passado por valor (ByVal em Visual Basic), deve aplicar-lhe um dos seguintes atributos:

  • Aplique o ReadOnlyArrayAttribute atributo se pretende que o conteúdo do array seja usado apenas para entrada.

  • Aplique o WriteOnlyArrayAttribute atributo se pretende que o conteúdo do array seja usado apenas para saída (ou seja, o método define o conteúdo do array mas não o lê).

Aplicar ambos os atributos a um parâmetro causa um erro. Para mais informações, incluindo o padrão padrão para fazer alterações a um array, veja Passing arrays to a Windows Runtime component no Windows Dev Center.

Importante

Os parâmetros que têm o ReadOnlyArrayAttribute atributo comportam-se de forma diferente dependendo se o chamador está escrito em código nativo ou em código gerido. Se o chamador for código nativo (extensões de componentes JavaScript ou Visual C++), o array é copiado quando a chamada cruza o limite da interface binária (ABI) da aplicação. Os elementos são convertidos se necessário. Portanto, quaisquer alterações acidentais que o método faça a um array apenas de entrada não são visíveis para o chamador.

Se o chamador for código gerido, o array não é copiado. O array original está disponível para o método chamado, tal como estaria em qualquer chamada de método no .NET Framework. O conteúdo do array é mutável em código do .NET Framework, pelo que quaisquer alterações que o método faça ao array são visíveis para o chamador. Isto é importante de lembrar porque afeta os testes unitários escritos para um componente do Windows Runtime. Se os testes forem escritos em código gerido, o conteúdo de um array parecerá ser mutável durante os testes.

Aplicar este atributo a um parâmetro que tenha o InAttribute atributo ou OutAttribute causa um erro quando o módulo é exportado. Aplicar o atributo a um out parâmetro também causa um erro.

Construtores

Name Description
ReadOnlyArrayAttribute()

Inicializa uma nova instância da ReadOnlyArrayAttribute classe.

Propriedades

Name Description
TypeId

Quando implementado numa classe derivada, obtém um identificador único para esta Attribute.

(Herdado de Attribute)

Métodos

Name Description
Equals(Object)

Devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()

Devolve o código de hash para esta instância.

(Herdado de Attribute)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Quando sobrescrito numa classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)

Quando sobrescrito numa classe derivada, devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Implementações de Interface Explícita

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

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho.

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

Recupera a informação de tipo de um objeto, que pode ser usada para obter a informação de tipo para uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1).

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

Proporciona acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)

Aplica-se a

Ver também