WriteOnlyArrayAttribute 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 środowisko wykonawcze systemu Windows określa, że zawartość tablicy przekazanej do tego parametru jest używana tylko dla danych wyjściowych. Obiekt wywołujący nie gwarantuje, że zawartość jest inicjowana, a wywołana metoda nie powinna odczytywać zawartości.
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
- Dziedziczenie
- Atrybuty
Uwagi
Jeśli parametr tablicy w składniku środowisko wykonawcze systemu Windows 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, aby zawartość tablicy była używana tylko do danych wejściowych.
WriteOnlyArrayAttribute Zastosuj atrybut, jeśli zamierzasz, aby zawartość tablicy była używana tylko dla danych wyjściowych (czyli metoda ustawia zawartość tablicy, ale nie odczytuje ich).
Zastosowanie obu atrybutów do parametru powoduje błąd. Aby uzyskać więcej informacji, w tym standardowy wzorzec wprowadzania zmian w tablicy, zobacz Przekazywanie tablic do składnika środowisko wykonawcze systemu Windows w Centrum deweloperów systemu Windows.
Ważne
Parametry, które mają WriteOnlyArrayAttribute atrybut zachowują się inaczej w zależności od tego, czy obiekt wywołujący jest zapisywany 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++), wywołana metoda nie może założyć żadnych założeń dotyczących zawartości oryginalnej tablicy. Na przykład tablica odbierana przez metodę może nie zostać zainicjowana lub może zawierać wartości domyślne. Oczekuje się, że metoda ustawi wartości wszystkich elementów w tablicy.
Jeśli obiekt wywołujący jest kodem zarządzanym, oryginalna tablica obiektu wywołującego jest przekazywana do wywoływanej metody, tak jak w każdym wywołaniu metody w .NET Framework. Zawartość tablicy jest modyfikowalna w kodzie zarządzanym, więc metoda może selektywnie odczytywać i zmieniać te wartości. Ważne jest, aby pamiętać, ponieważ ma wpływ na testy jednostkowe napisane dla składnika środowisko wykonawcze systemu Windows. Jeśli testy są zapisywane w kodzie zarządzanym, zawartość tablicy będzie prawdopodobnie modyfikowalna podczas testowania, a wyniki mogą się różnić, jeśli metoda zostanie wywołana z kodu natywnego później.
Zastosowanie tego atrybutu do out
parametru lub do parametru, który ma InAttribute atrybut powoduje błąd podczas eksportowania modułu. Zastosowanie atrybutu do parametru OutAttribute , który ma atrybut powoduje błąd, chyba że parametr ma również modyfikator Języka Visual Basic ByRef
. W takim przypadku atrybut jest nadmiarowy, ale dozwolony.
Konstruktory
WriteOnlyArrayAttribute() |
Inicjuje nowe wystąpienie klasy WriteOnlyArrayAttribute. |
Właściwości
TypeId |
Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego elementu Attribute. (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 bieżące wystąpienie. (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) |
W przypadku zastąpienia 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 obiektu, którego można użyć do pobrania informacji o typie 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ż
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla