Udostępnij za pośrednictwem


<declaredTypes>

Zawiera znane typy używane DataContractSerializer podczas deserializacji.

Aby uzyskać więcej informacji na temat kontraktów danych i znanych typów, zobacz Znane typy kontraktów danych.

<Konfiguracji>
  <System.runtime.serialization>
    <Datacontractserializer>
      <declaredTypes>

Składnia

<configuration>
  <system.runtime.serialization>
    <dataContractSerializer>
      <declaredTypes>
        <add type="String ">
          <knownType type="String">
            <parameter index="Integer"/>
          </knownType>
        </add>
      </declaredTypes>
    </dataContractSerializer>
  </system.runtime.serialization>
</configuration>

Atrybuty i elementy

W poniższych sekcjach opisano atrybuty, elementy podrzędne i elementy nadrzędne.

Atrybuty

Brak.

Elementy podrzędne

Element Opis
<Dodaj> Dodaje typy, które wymagają znanych typów.

Elementy nadrzędne

Element Opis
<Datacontractserializer> Zawiera dane konfiguracji dla elementu DataContractSerializer.

Uwagi

Aby uzyskać więcej informacji na temat znanych typów, zobacz Znane typy kontraktów danych i DataContractSerializer.

Przykład

Poniższy kod XML przedstawia zadeklarowane typy i znane typy dodane do DataContractSerializer elementu. W przykładzie pokazano trzy dodawane typy. Pierwszy to typ niestandardowy o nazwie "Orders", który używa znanego typu o nazwie "Item". Drugi zadeklarowany typ jest List<T> używany Item jako znany typ. Na koniec trzeci zadeklarowany typ to Dictionary<TKey,TValue>. Typ Dictionary<TKey,TValue> klasy jest typem ogólnym z dwoma parametrami typu. Pierwszy reprezentuje klucz, a drugi reprezentuje wartość. Poniższy przykład dodaje drugi List<T> typ (wartość) do listy znanych typów. Należy użyć atrybutu index , aby określić, który parametr typu ma być używany w znanym typie. W takim przypadku typ wartości jest wskazywany przez atrybut indeksu ustawiony na wartość "1" (kolekcja jest oparta na zera).

<configuration>
  <system.runtime.serialization>
    <dataContractSerializer>
      <declaredTypes>
        <add type="Examples.Types.Orders, SerializationTypes, Version = 2.0.0.0, Culture = neutral, PublicKeyToken=null">
          <knownType type="Examples.Types.Item, SerializationTypes, Version=2.0.0.0, Culture=neutral, PublicKey=null" />
        </add>
        <add type="System.Collections.Generic.List`1, SerializationTypes, Version = 2.0.0.0, Culture = neutral, PublicKeyToken=null">
          <knownType type="Examples.Types.Item, SerializationTypes, Version=2.0.0.0, Culture=neutral, PublicKey=null" />
        </add>
        <add type="System.Collections.Generic.Dictionary`2, SerializationTypes, Version = 2.0.0.0, Culture = neutral, PublicKeyToken=null">
          <knownType type="System.Collections.Generic.List`1, SerializationTypes, Version = 2.0.0.0, Culture = neutral, PublicKeyToken=null">
            <parameter index="1"/>
          </knownType>
        </add>
      </declaredTypes>
    </dataContractSerializer>
  </system.runtime.serialization>
</configuration>

Zobacz też