ReadOnlyArrayAttribute Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
W przypadku zastosowania do parametru tablicy w składniku Windows Runtime określa, że zawartość tablicy, która jest przekazywana do tego parametru, są używane tylko dla danych wejściowych. Obiekt 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
- Atrybuty
Uwagi
Jeśli parametr tablicy w składniku Windows Runtime jest przekazywany przez wartość (ByVal w Visual Basic), należy zastosować do niego jeden z następujących atrybutów:
Zastosuj atrybut, ReadOnlyArrayAttribute jeśli zamierzasz używać zawartości tablicy tylko do wprowadzania danych wejściowych.
Zastosuj atrybut, WriteOnlyArrayAttribute jeśli zamierzasz używać zawartości tablicy tylko do danych wyjściowych (czyli metoda ustawia zawartość tablicy, ale nie odczytuje ich).
Zastosowanie obu atrybutów do parametru powoduje błąd.
Ważna
Parametry, które mają ReadOnlyArrayAttribute atrybut zachowują się inaczej w zależności od tego, czy obiekt wywołujący jest napisany w kodzie natywnym, czy w kodzie zarządzanym. Jeśli obiekt wywołujący jest kodem natywnym (rozszerzenia składników JavaScript lub Visual C++), tablica jest kopiowana, gdy wywołanie przekracza granicę interfejsu binarnego aplikacji (ABI). Elementy są konwertowane w razie potrzeby. W związku z tym wszelkie przypadkowe zmiany wprowadzone przez metodę do tablicy tylko do danych wejściowych nie są widoczne dla obiektu wywołującego.
Jeśli obiekt wywołujący jest kodem zarządzanym, tablica nie zostanie skopiowana. Oryginalna tablica jest dostępna dla wywoływanej metody, tak jak w każdym wywołaniu metody w .NET Framework. Zawartość tablicy jest modyfikowalna w kodzie .NET Framework, dlatego wszelkie zmiany wprowadzone w metodzie do tablicy są widoczne dla obiektu wywołującego. Należy pamiętać, że ma to wpływ na testy jednostkowe napisane dla składnika Windows Runtime. Jeśli testy są zapisywane w kodzie zarządzanym, zawartość tablicy będzie widoczna jako modyfikowalna podczas testowania.
Zastosowanie tego atrybutu do parametru InAttribute z atrybutem lub OutAttribute powoduje błąd podczas eksportowania modułu. Zastosowanie atrybutu do parametru out powoduje również błąd.
Konstruktory
| Nazwa | Opis |
|---|---|
| ReadOnlyArrayAttribute() |
Inicjuje nowe wystąpienie klasy ReadOnlyArrayAttribute. |
Właściwości
| Nazwa | Opis |
|---|---|
| TypeId |
Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego Attribute. (Odziedziczone po Attribute) |
Metody
| Nazwa | Opis |
|---|---|
| Equals(Object) |
Zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi. (Odziedziczone po Attribute) |
| GetHashCode() |
Zwraca kod skrótu dla tego wystąpienia. (Odziedziczone po Attribute) |
| GetType() |
Pobiera Type bieżącego wystąpienia. (Odziedziczone po Object) |
| IsDefaultAttribute() |
Po zastąpieniu w klasie pochodnej wskazuje, czy wartość tego wystąpienia jest wartością domyślną dla klasy pochodnej. (Odziedziczone po Attribute) |
| Match(Object) |
Po zastąpieniu 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 Object. (Odziedziczone po Object) |
| ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
| Nazwa | Opis |
|---|---|
| _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 obiektu, którego można użyć do uzyskania 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) |
Zapewnia dostęp do właściwości i metod uwidocznionych przez obiekt. (Odziedziczone po Attribute) |