Partilhar via


WriteOnlyArrayAttribute Classe

Definição

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
WriteOnlyArrayAttribute
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)

Aplica-se a

Confira também