ReadOnlyArrayAttribute Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
- 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) |