ReadOnlyArrayAttribute Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Quando aplicado a um parâmetro de matriz em um componente do Windows Runtime, especifica que o conteúdo da matriz passado para esse parâmetro é usado somente para entrada. O chamador espera que a matriz não seja alterada pela 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
Comentários
Se um parâmetro de matriz em seu componente Windows Runtime for passado por valor (ByVal
no Visual Basic), você deverá aplicar um dos seguintes atributos a ele:
Aplique o ReadOnlyArrayAttribute atributo se você pretende que o conteúdo da matriz seja usado somente para entrada.
Aplique o WriteOnlyArrayAttribute atributo se você pretende que o conteúdo da matriz seja usado apenas para saída (ou seja, o método define o conteúdo da matriz, mas não os lê).
Aplicar ambos os atributos a um parâmetro causa um erro. Para obter mais informações, incluindo o padrão padrão para fazer alterações em uma matriz, consulte Passando matrizes para um componente Windows Runtime no Centro de Desenvolvimento do Windows.
Importante
Parâmetros que têm o ReadOnlyArrayAttribute atributo se comportam de forma diferente, dependendo se o chamador é escrito em código nativo ou código gerenciado. Se o chamador for código nativo (extensões de componente JavaScript ou Visual C++), a matriz será copiada quando a chamada cruzar o limite da ABI (interface binária do aplicativo). Os elementos são convertidos, se necessário. Portanto, quaisquer alterações acidentais feitas pelo método em uma matriz somente entrada não são visíveis para o autor da chamada.
Se o chamador for um código gerenciado, a matriz não será copiada. A matriz original está disponível para o método chamado, como seria em qualquer chamada de método no .NET Framework. Como o conteúdo da matriz é mutável no código do .NET Framework, quaisquer alterações feitas pelo método na matriz são visíveis para o autor da chamada. Isso é importante lembrar porque afeta testes de unidade gravados para um componente Windows Runtime. Se os testes forem escritos em código gerenciado, o conteúdo de uma matriz parecerá ser mutável durante o teste.
Aplicar esse atributo a um parâmetro que tem 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
ReadOnlyArrayAttribute() |
Inicializa uma nova instância da classe ReadOnlyArrayAttribute. |
Propriedades
TypeId |
Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute. (Herdado de Attribute) |
Métodos
Equals(Object) |
Retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
GetHashCode() |
Retorna o código hash para a instância. (Herdado de Attribute) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
IsDefaultAttribute() |
Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada. (Herdado de Attribute) |
Match(Object) |
Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição. (Herdado de Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface. (Herdado de Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1). (Herdado de Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornece acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute) |