Sdílet prostřednictvím


WriteOnlyArrayAttribute Třída

Definice

Při použití parametru pole v komponentě Prostředí Windows Runtime určuje, že obsah pole, který je předán do tohoto parametru, se použije pouze pro výstup. Volající nezaručuje, že obsah je inicializován, a volaná metoda by neměla číst obsah.

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
Dědičnost
WriteOnlyArrayAttribute
Atributy

Poznámky

Pokud je parametr pole v komponentě Prostředí Windows Runtime předán pomocí hodnoty (ByVal v jazyce Visual Basic), musíte na něj použít jeden z následujících atributů:

  • ReadOnlyArrayAttribute Použijte atribut , pokud chcete obsah pole použít pouze pro vstup.

  • WriteOnlyArrayAttribute Použijte atribut , pokud chcete obsah pole použít pouze pro výstup (to znamená, že metoda nastaví obsah pole, ale nečte ho).

Použití obou atributů na parametr způsobí chybu. Další informace, včetně standardního vzoru pro provádění změn pole, najdete v tématu Předávání polí komponentě Windows Runtime na webu Windows Dev Center.

Důležité

Parametry, které mají WriteOnlyArrayAttribute atribut , se chovají odlišně v závislosti na tom, jestli je volající napsaný v nativním nebo spravovaném kódu. Pokud je volající nativní kód (rozšíření komponent Jazyka JavaScript nebo Visual C++), nemůže volaná metoda provádět žádné předpoklady o obsahu původního pole. Například pole, které metoda přijme, nemusí být inicializováno nebo může obsahovat výchozí hodnoty. Očekává se, že metoda nastaví hodnoty všech prvků v poli.

Pokud je volající spravovaný kód, je původní pole volajícího předáno volané metodě, stejně jako by to bylo v jakémkoli volání metody v rozhraní .NET Framework. Obsah pole je ve spravovaném kódu měnitelný, takže metoda může selektivně číst a měnit tyto hodnoty. To je důležité si uvědomit, protože ovlivňuje testy jednotek napsané pro součást Prostředí Windows Runtime. Pokud jsou testy napsané ve spravovaném kódu, obsah pole se bude zdát během testování měnitelný a výsledky se pravděpodobně budou lišit, pokud bude metoda volána z nativního kódu později.

Použití tohoto atributu u parametru out nebo parametru, který má InAttribute atribut , způsobí chybu při exportu modulu. Použití atributu na parametr, který má OutAttribute atribut způsobí chybu, pokud parametr obsahuje také modifikátor jazyka Visual Basic ByRef . V takovém případě je atribut redundantní, ale povolený.

Konstruktory

WriteOnlyArrayAttribute()

Inicializuje novou instanci WriteOnlyArrayAttribute třídy .

Vlastnosti

TypeId

Při implementaci v odvozené třídě získá jedinečný identifikátor pro tuto Attributetřídu .

(Zděděno od Attribute)

Metody

Equals(Object)

Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu.

(Zděděno od Attribute)
GetHashCode()

Vrátí hodnotu hash pro tuto instanci.

(Zděděno od Attribute)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
IsDefaultAttribute()

Při přepsání v odvozené třídě označuje, zda je hodnota této instance výchozí hodnotou pro odvozenou třídu.

(Zděděno od Attribute)
Match(Object)

Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda se tato instance rovná zadanému objektu.

(Zděděno od Attribute)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

(Zděděno od Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, které lze použít k získání informací o typu pro rozhraní.

(Zděděno od Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

(Zděděno od Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

(Zděděno od Attribute)

Platí pro

Viz také