WriteOnlyArrayAttribute Classe

Definição

Quando aplicado a um parâmetro de array num componente do Windows Runtime, especifica que o conteúdo de um array que é passado para esse parâmetro é usado apenas 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

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 WriteOnlyArrayAttribute 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 método chamado não pode fazer quaisquer suposições sobre o conteúdo do array original. Por exemplo, o array que o método recebe pode não estar inicializado, ou pode conter valores por defeito. Espera-se que o método defina os valores de todos os elementos no array.

Se o chamador for código gerido, o array original do chamador é passado para o método chamado, tal como aconteceria em qualquer chamada de método no .NET Framework. O conteúdo do array é mutável no código gerido, pelo que o método pode ler e alterar esses valores seletivamente. 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á mutável durante os testes, e os resultados provavelmente serão diferentes se o método for chamado a partir de código nativo mais tarde.

Aplicar este atributo a um out parâmetro ou a um parâmetro que tenha esse InAttribute atributo causa um erro quando o módulo é exportado. Aplicar o atributo a um parâmetro que tenha o atributo OutAttribute causa um erro, a menos que o parâmetro também tenha o modificador Visual Basic ByRef. Nesse caso, o atributo é redundante mas permitido.

Construtores

Name Description
WriteOnlyArrayAttribute()

Inicializa uma nova instância da WriteOnlyArrayAttribute 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