ReadOnlyArrayAttribute Klasa

Definicja

W przypadku zastosowania do parametru tablicy w składniku Windows Runtime określa, że zawartość tablicy przekazanej do tego parametru jest używana tylko do wprowadzania danych. Wywołujący oczekuje, że tablica będzie niezmieniona przez wywołanie .

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
Dziedziczenie
ReadOnlyArrayAttribute
Atrybuty

Uwagi

Jeśli parametr tablicy w składniku Windows Runtime jest przekazywany przez wartość (w Visual Basic), należy zastosować do niego jeden z ByVal następujących atrybutów:

  • Zastosuj atrybut ReadOnlyArrayAttribute , jeśli zamierzasz, aby zawartość tablicy był używana tylko do danych wejściowych.

  • Zastosuj atrybut , jeśli zamierzasz, aby zawartość tablicy była używana tylko dla danych wyjściowych (czyli metoda ustawia zawartość tablicy, ale ich WriteOnlyArrayAttribute nie odczytuje).

Zastosowanie obu atrybutów do parametru powoduje błąd. Aby uzyskać więcej informacji, w tym standardowy wzorzec do zmieniania tablicy, zobacz Przekazywanie tablic do składnika Windows Runtime w Windows Centrum deweloperów.

Ważne

Parametry, które mają atrybut , zachowują się inaczej w zależności od tego, czy wywołujący jest ReadOnlyArrayAttribute napisany w kodzie natywnym, czy zarządzanym. Jeśli obiekt wywołujący jest kodem natywnym (JavaScript lub Visual C++ rozszerzenia składników), tablica jest kopiowana, gdy wywołanie przekroczy granicę interfejsu binarnego aplikacji (ABI). Elementy są konwertowane w razie potrzeby. W związku z tym wszelkie przypadkowe zmiany wprowadzone przez metodę w tablicy tylko do wprowadzania nie są widoczne dla wywołującego.

Jeśli wywołujący jest kodem zarządzanym, tablica nie jest kopiowana. Oryginalna tablica jest dostępna dla wywoływanej metody, tak jak w każdym wywołaniu metody w .NET Framework. Zawartość tablicy jest modyfikowalna .NET Framework kodzie, więc wszelkie zmiany wprowadzone przez metodę w tablicy są widoczne dla wywołującego. Należy o tym pamiętać, ponieważ ma to wpływ na testy jednostkowe napisane dla składnika Windows runtime. Jeśli testy są napisane w kodzie zarządzanym, zawartość tablicy będzie wydawać się modyfikowalna podczas testowania.

Zastosowanie tego atrybutu do parametru, który ma atrybut lub powoduje błąd InAttribute OutAttribute podczas eksportowania modułu. Zastosowanie atrybutu do out parametru powoduje również błąd.

Konstruktory

ReadOnlyArrayAttribute()

Inicjuje nowe wystąpienie klasy ReadOnlyArrayAttribute.

Właściwości

TypeId

Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego Attributeelementu .

(Odziedziczone po Attribute)

Metody

Equals(Object)

Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi.

(Odziedziczone po Attribute)
GetHashCode()

Zwraca wartość skrótu dla tego wystąpienia.

(Odziedziczone po Attribute)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
IsDefaultAttribute()

W przypadku zastąpienia w klasie pochodnej wskazuje, czy wartość tego wystąpienia jest wartością domyślną klasy pochodnej.

(Odziedziczone po Attribute)
Match(Object)

Po przesłonięciu w klasie pochodnej zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi.

(Odziedziczone po Attribute)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

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

Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Pobiera informacje o typie dla obiektu, który może służyć do pobierania informacji o typie dla interfejsu.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1).

(Odziedziczone po Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt.

(Odziedziczone po Attribute)

Dotyczy

Zobacz też