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

CollectionDataContractAttribute-Klasse

 

Veröffentlicht: Oktober 2016

Ermöglich bei Anwendung auf einen Auflistungstyp die benutzerdefinierte Angabe der Auflistungselemente. Dieses Attribut kann nur auf Typen angewendet werden, die vom DataContractSerializer als gültige, serialisierbare Auflistungen erkannt werden.

Namespace:   System.Runtime.Serialization
Assembly:  System.Runtime.Serialization (in System.Runtime.Serialization.dll)

System.Object
  System.Attribute
    System.Runtime.Serialization.CollectionDataContractAttribute

[AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Struct, 
	Inherited = false, AllowMultiple = false)]
public sealed class CollectionDataContractAttribute : Attribute

NameBeschreibung
System_CAPS_pubmethodCollectionDataContractAttribute()

Initialisiert eine neue Instanz der CollectionDataContractAttribute-Klasse.

NameBeschreibung
System_CAPS_pubpropertyIsItemNameSetExplicitly

Ruft ab, ob ItemName explizit festgelegt wurde.

System_CAPS_pubpropertyIsKeyNameSetExplicitly

Ruft ab, ob KeyName explizit festgelegt wurde.

System_CAPS_pubpropertyIsNameSetExplicitly

Ruft ab, ob Name explizit festgelegt wurde.

System_CAPS_pubpropertyIsNamespaceSetExplicitly

Ruft ab, ob Namespace explizit festgelegt wurde.

System_CAPS_pubpropertyIsReference

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob Objektverweisdaten beizubehalten sind.

System_CAPS_pubpropertyIsReferenceSetExplicitly

Ruft ab, ob der Verweis explizit festgelegt wurde.

System_CAPS_pubpropertyIsValueNameSetExplicitly

Ruft ab, ob ValueName explizit festgelegt wurde.

System_CAPS_pubpropertyItemName

Ruft einen benutzerdefinierten Namen für ein Auflistungselement ab oder legt ihn fest.

System_CAPS_pubpropertyKeyName

Ruft den benutzerdefinierten Namen für einen Wörterbuchschlüsselnamen ab oder legt ihn fest.

System_CAPS_pubpropertyName

Ruft den Namen des Datenvertrags für den Auflistungstyp ab oder legt ihn fest.

System_CAPS_pubpropertyNamespace

Ruft den Namespace für den Datenvertrag ab oder legt ihn fest.

System_CAPS_pubpropertyTypeId

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

System_CAPS_pubpropertyValueName

Ruft den benutzerdefinierten Namen für einen Wörterbuchwertnamen ab oder legt ihn fest.

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“.)

The T:System.Runtime.Serialization.CollectionDataContractAttribute is intended to ease interoperability when working with data from non-indigo2 providers and to control the exact shape of serialized instances. To this end, the P:System.Runtime.Serialization.CollectionDataContractAttribute.ItemName property enables you to control the names of the repeating items inside a collection. This is especially useful when the provider does not use the XML element type name as the array item name, for example, if a provider uses "String" as an element type name instead of the XSD type name "string".

The T:System.Runtime.Serialization.CollectionDataContractAttribute is also intended to be used with dictionary types to handle keyed collections. Dictionary types are classes that implement either the T:System.Collections.IDictionary or the T:System.Collections.Generic.IDictionary`2 interface, for example, the T:System.Collections.Generic.Dictionary`2. Use the P:System.Runtime.Serialization.CollectionDataContractAttribute.KeyName and P:System.Runtime.Serialization.CollectionDataContractAttribute.ValueName properties to set custom names when using the T:System.Collections.Generic.Dictionary`2 class.

Weitere Informationen finden Sie unter using the DataContractSerializer, see Verwenden von Datenverträgen.

The following example applies the T:System.Runtime.Serialization.CollectionDataContractAttribute to a class that inherits from the T:System.Collections.Generic.List`1 class. The code sets the P:System.Runtime.Serialization.CollectionDataContractAttribute.Name and P:System.Runtime.Serialization.CollectionDataContractAttribute.ItemName properties to custom values.

[CollectionDataContract(Name = "Custom{0}List", ItemName = "CustomItem")]
public class CustomList<T> : List<T>
{
    public CustomList()
        : base()
    {
    }

    public CustomList(T[] items)
        : base()
    {
        foreach (T item in items)
        {
            Add(item);
        }
    }
}

When the Service Model Metadata Utility Tool (Svcutil.exe) is used to generate code for the client, the code resembles the following example. Notice that the name of the class is changed, as well as the P:System.Runtime.Serialization.CollectionDataContractAttribute.ItemName. When using generics, the type parameter name is used to create the resulting type name.

// This is the generated code. Note that the class is renamed to "CustomBookList", 
// and the ItemName is set to "CustomItem".
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
[System.Runtime.Serialization.CollectionDataContractAttribute(ItemName = "CustomItem")]
public class CustomBookList : System.Collections.Generic.List<Microsoft.Security.Samples.Book>
{
}

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 3.0
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.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: