Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

WriteOnlyArrayAttribute-Klasse

.NET Framework (current version)
 

Veröffentlicht: Oktober 2016

Bei Anwendung auf einen Arrayparameter in einer Windows-Runtime-Komponente wird dadurch angegeben, dass der Inhalt eines Arrays, das an diesen Parameter übergeben wird, nur für die Ausgabe verwendet wird. Der Aufrufer gewährleistet nicht, dass der Inhalt initialisiert wird, und die aufgerufene Methode soll den Inhalt nicht lesen. Weitere Informationen finden Sie in den Hinweisen mit wichtigen Informationen zu Aufrufern, die mithilfe von verwaltetem Code geschrieben sind.

Namespace:   System.Runtime.InteropServices.WindowsRuntime
Assembly:  mscorlib (in mscorlib.dll)

System.Object
  System.Attribute
    System.Runtime.InteropServices.WindowsRuntime.WriteOnlyArrayAttribute

[AttributeUsageAttribute(AttributeTargets.Parameter, Inherited = false, 
	AllowMultiple = false)]
public sealed class WriteOnlyArrayAttribute : Attribute

NameBeschreibung
System_CAPS_pubmethodWriteOnlyArrayAttribute()

Initialisiert eine neue Instanz der WriteOnlyArrayAttribute-Klasse.

NameBeschreibung
System_CAPS_pubpropertyTypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.(Geerbt von „Attribute“.)

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodGetHashCode()

Gibt den Hashcode für diese Instanz zurück.(Geerbt von „Attribute“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodIsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodMatch(Object)

Ruft beim Überschreiben in einer abgeleiteten Klasse gibt einen Wert, der angibt, ob diese Instanz gleich ein angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.(Geerbt von „Attribute“.)

Wenn auf einen Arrayparameter in Ihre Windows-Runtime Komponente als Wert übergeben wird (ByVal in Visual Basic), müssen Sie eines der folgenden Attribute auf sie anwenden:

  • Anwenden der ReadOnlyArrayAttribute Attribut, wenn Sie den Inhalt des Arrays, das für die Eingabe nur verwendet werden soll.

  • Anwenden der WriteOnlyArrayAttribute Attribut, wenn Sie beabsichtigen, den Inhalt des Arrays, das für die Ausgabe nur verwendet werden (d. h. die Methode wird der Inhalt des Arrays jedoch nicht gelesen).

Beide Attribute auf Parameter anwenden, verursacht einen Fehler. Weitere Informationen, einschließlich das Standardmuster für in ein Array Änderungen, finden Sie unter Passing arrays to a Windows Runtime component im Windows Developer Center.

System_CAPS_importantWichtig

Alle Parameter mit dem WriteOnlyArrayAttribute Attribut Verhalten sich anders, je nachdem, ob der Aufrufer in systemeigenem Code oder verwaltetem Code geschrieben wird. Wenn der Aufrufer systemeigenem Code ist (JavaScript oder Komponentenerweiterungen für Visual C++), die aufgerufene Methode kann keine Annahmen über den Inhalt des ursprünglichen Arrays. Beispielsweise ist das Array, das die Methode empfängt, möglicherweise nicht oder mit Standardwerten initialisiert. Von der Methode wird das Festlegen der Werte aller Elemente im Array erwartet.

Wenn der Aufrufer verwaltet wird code des Aufrufers ursprüngliche Array wird an die aufgerufene Methode übergeben, wie es in jedem Methodenaufruf in .NET Framework. Arrayinhalt sind änderbar in verwaltetem Code, damit die Methode selektiv lesen und ändern Sie diese Werte kann. Dies ist wichtig, da es sich auf Komponententests auswirkt, die für eine Windows-Runtime-Komponente geschrieben werden. Wenn die Tests in verwaltetem Code geschrieben werden, den Inhalt eines Arrays werden änderbare werden während des Tests angezeigt, und die Ergebnisse sind möglicherweise unterschiedlich sein, wenn die Methode später von systemeigenem Code aufgerufen wird.

Das Anwenden dieses Attributs auf eine out Parameter oder einen Parameter mit der InAttribute Attribut verursacht einen Fehler aus, wenn das Modul exportiert wird. Anwenden des Attributs auf einen Parameter mit dem OutAttribute Attribut verursacht einen Fehler, es sei denn, die Parameter auch Visual Basic ByRef Modifizierer. In diesem Fall ist das Attribut redundante jedoch zulässig.

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 4.5
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Windows Phone Silverlight
Verfügbar seit 8.0
Windows Phone
Verfügbar seit 8.1

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: