WriteOnlyArrayAttribute 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 de uma matriz que é passado para esse parâmetro é usado somente para saída. O chamador não garante que o conteúdo seja inicializado e o método chamado não deve ler o conteúdo.
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
- Herança
- Atributos
Comentários
Se um parâmetro de matriz no componente do 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 do Windows Runtime no Centro de Desenvolvimento do Windows.
Importante
Parâmetros que têm o WriteOnlyArrayAttribute 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++), o método chamado não poderá fazer nenhuma suposição sobre o conteúdo da matriz original. Por exemplo, a matriz que o método recebe pode não ser inicializada ou pode conter valores padrão. O método deve definir os valores de todos os elementos na matriz.
Se o chamador for um código gerenciado, a matriz original do chamador será passada para o método chamado, como seria em qualquer chamada de método no .NET Framework. O conteúdo da matriz é mutável no código gerenciado, portanto, o método pode ler e alterar seletivamente esses valores. Isso é importante lembrar porque afeta testes de unidade gravados para um componente do Windows Runtime. Se os testes forem escritos em código gerenciado, o conteúdo de uma matriz parecerá mutável durante o teste e os resultados provavelmente serão diferentes se o método for chamado do código nativo mais tarde.
Aplicar esse atributo a um out
parâmetro ou a um parâmetro que tem o InAttribute atributo causa um erro quando o módulo é exportado. Aplicar o atributo a um parâmetro que tem o OutAttribute atributo causa um erro, a menos que o parâmetro também tenha o modificador do Visual Basic ByRef
. Nesse caso, o atributo é redundante, mas permitido.
Construtores
WriteOnlyArrayAttribute() |
Inicializa uma nova instância da classe WriteOnlyArrayAttribute. |
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) |