WriteOnlyArrayAttribute Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wenn sie auf einen Arrayparameter in einer Windows-Runtime Komponente angewendet wird, wird angegeben, dass der Inhalt eines Arrays, das an diesen Parameter übergeben wird, nur für die Ausgabe verwendet wird. Der Aufrufer garantiert nicht, dass der Inhalt initialisiert wird, und die aufgerufene Methode sollte den Inhalt nicht lesen.
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
- Vererbung
- Attribute
Hinweise
Wenn ein Arrayparameter in Ihrer Windows-Runtime Komponente nach Wert übergeben wird (ByVal in Visual Basic), müssen Sie eines der folgenden Attribute darauf anwenden:If an array parameter in your Windows-Runtime component is passed by value (ByVal in Visual Basic), you must apply one of the following attributes to it:
Wenden Sie das ReadOnlyArrayAttribute Attribut an, wenn Der Inhalt des Arrays nur für Eingaben verwendet werden soll.
Wenden Sie das WriteOnlyArrayAttribute Attribut an, wenn Der Inhalt des Arrays nur für die Ausgabe verwendet werden soll (d. a. die Methode legt den Inhalt des Arrays fest, liest sie jedoch nicht).
Das Anwenden beider Attribute auf einen Parameter führt zu einem Fehler. Weitere Informationen, einschließlich des Standardmusters zum Vornehmen von Änderungen an einem Array, finden Sie unter Passing arrays to a Windows-Runtime component im Windows Dev Center.
Von Bedeutung
Parameter, die das WriteOnlyArrayAttribute Attribut aufweisen, verhalten sich je nachdem, ob der Aufrufer in systemeigenem Code oder verwaltetem Code geschrieben wird. Wenn der Aufrufer systemeigener Code (JavaScript- oder Visual C++-Komponentenerweiterungen) ist, kann die aufgerufene Methode keine Annahmen über den Inhalt des ursprünglichen Arrays treffen. Das Array, das die Methode empfängt, kann z. B. nicht initialisiert oder Standardwerte enthalten. Die Methode wird erwartet, dass die Werte aller Elemente im Array festgelegt werden.
Wenn der Aufrufer verwalteter Code ist, wird das ursprüngliche Array des Aufrufers an die aufgerufene Methode übergeben, wie er sich in einem beliebigen Methodenaufruf im .NET Framework befindet. Arrayinhalte können in verwaltetem Code stummgeschaltet werden, sodass die Methode diese Werte selektiv lesen und ändern kann. Dies ist wichtig zu beachten, da sie Komponententests betrifft, die für eine Windows-Runtime Komponente geschrieben wurden. Wenn die Tests in verwaltetem Code geschrieben werden, scheint der Inhalt eines Arrays während des Tests änderbar zu sein, und die Ergebnisse unterscheiden sich wahrscheinlich, wenn die Methode später vom systemeigenen Code aufgerufen wird.
Wenn Sie dieses Attribut auf einen out Parameter oder auf einen Parameter anwenden, der das InAttribute Attribut aufweist, tritt beim Exportieren des Moduls ein Fehler auf. Wenn Sie das Attribut auf einen Parameter anwenden, der das Attribut OutAttribute aufweist, tritt ein Fehler auf, es sei denn, der Parameter verfügt auch über den Modifizierer Visual Basic ByRef. In diesem Fall ist das Attribut redundant, aber zulässig.
Konstruktoren
| Name | Beschreibung |
|---|---|
| WriteOnlyArrayAttribute() |
Initialisiert eine neue Instanz der WriteOnlyArrayAttribute-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| TypeId |
Wenn sie in einer abgeleiteten Klasse implementiert wird, wird ein eindeutiger Bezeichner für diese Attribute. (Geerbt von Attribute) |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Gibt einen Wert zurück, der angibt, ob diese Instanz einem angegebenen Objekt entspricht. (Geerbt von Attribute) |
| GetHashCode() |
Gibt den Hashcode für diese Instanz zurück. (Geerbt von Attribute) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| IsDefaultAttribute() |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, gibt an, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist. (Geerbt von Attribute) |
| Match(Object) |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem angegebenen Objekt entspricht. (Geerbt von Attribute) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Geerbt von Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Ruft die Typinformationen für ein Objekt ab, mit denen die Typinformationen für eine Schnittstelle abgerufen werden können. (Geerbt von Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Geerbt von Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Bietet Zugriff auf Eigenschaften und Methoden, die von einem Objekt verfügbar gemacht werden. (Geerbt von Attribute) |