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

ReadOnlyArrayAttribute-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 des Arrays, das an diesen Parameter übergeben wird, nur für die Eingabe verwendet wird. Der Aufrufer erwartet, dass das Array durch den Aufruf unverändert bleibt. 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.ReadOnlyArrayAttribute

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

NameBeschreibung
System_CAPS_pubmethodReadOnlyArrayAttribute()

Initialisiert eine neue Instanz der ReadOnlyArrayAttribute-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 ReadOnlyArrayAttributeAttribut 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++), das Array wird kopiert, wenn der Aufruf über die Grenze der anwendungsbinärschnittstelle (ABI) hinaus überschreitet. Elemente werden bei Bedarf konvertiert. Von der Methode fälschlicherweise an einem nur zur Eingabe bestimmten Array vorgenommene Änderungen sind daher für den Aufrufer nicht sichtbar.

Wenn der Aufrufer verwaltet wird Code, der das Array wird nicht kopiert. Das ursprüngliche Array ist für die aufgerufene Methode, als wäre es in jedem Methodenaufruf in .NET Framework. Die Arrayinhalte sind in .NET Framework-Code veränderlich, daher sind alle Änderungen, die die Methode am Array vornimmt, für den Aufrufer sichtbar. 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, scheint der Inhalt eines Arrays während des Testens veränderlich zu sein.

Anwenden dieses Attributs auf einen Parameter mit dem InAttribute oder OutAttribute Attribut verursacht einen Fehler aus, wenn das Modul exportiert wird. Anwenden des Attributs auf eine out Parameter wird auch ein Fehler verursacht.

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: