На сегодняшний день в Neo4j Desktop версии: 1.1.10 и версии БД: 3.4.7 Удаление данных + удаление индекса + удаление любых уникальных ограничений + Разработчик> Обновить удаляет все метки
Универсальный тип может быть создан из строки, если строка следует этому шаблону: Имя класса, за которым следует символ "", за которым следует количество параметров типа (в данном случае это 1), за которым следуют параметры типа, заключенные в "[]", и использование запятой в качестве разделителя параметров типа .
<configuration>
<system.runtime.serialization>
<dataContractSerializer>
<declaredTypes>
<add type="Wrapper, TheirAssembly">
<!-- this syntax is all good -->
<knownType type="Data`1[System.Int32], MyAssembly"/>
<knownType type="Data`1[System.Int64], MyAssembly"/>
</add>
</declaredTypes>
</dataContractSerializer>
</system.runtime.serialization>
</configuration>
Edit: я мог бы также добавить, что если информация о сборке должна быть указана для параметров типа (хотя это не относится к материалам в mscorlib), то используется вложенный «[]».
<knownType type="Data`1[[System.Int32, mscorlib]], MyAssembly"/>
Edit: You может настраивать имена универсальных типов в контрактах данных, используя шаблон строкового формата.
[DataContract(Name = "Data{0}")]
public class Data<TKey>
{...}
По умолчанию имя, сгенерированное для типа Data
Подробнее здесь . Взгляните на раздел «Настройка имен контрактов данных для универсальных типов» внизу страницы.
Из здесь ...
Известно типы также могут быть определены в конфигурации как показано ниже.
<configuration>
<system.runtime.serialization>
<dataContractSerializer>
<declaredTypes>
<add type="MyCompany.Library.Shape`1,
MyAssembly, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=XXXXXX, processorArchitecture=MSIL">
<knownType type="MyCompany.Library.Circle`1,
MyAssembly, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=XXXXXX, processorArchitecture=MSIL">
<parameter index="0"/>
</knownType>
</add>
</declaredTypes>
</dataContractSerializer>
</system.runtime.serialization>
</configuration>
Приведенная выше конфигурация указывает, что общий параметр для Circle - это то же, что и общий параметр для объявленный тип Shape. Конфигурация позволяет определение известного типа произвольная сложность. Например, если необходимо определить Круг <Словарь <строка, T >> в качестве известный тип Shape
(конечно, это чисто академический) это можно сделать как
<configuration>
<system.runtime.serialization>
<dataContractSerializer>
<declaredTypes>
<add type="MyCompany.Library.Shape`1,
MyAssembly, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=XXXXXX, processorArchitecture=MSIL">
<knownType type="MyCompany.Library.Circle`1,
MyAssembly, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=XXXXXX, processorArchitecture=MSIL">
<parameter type="System.Collections.Generic.Dictionary`2">
<parameter type="System.String"/>
<parameter index="0"/>
</parameter>
</knownType>
</add>
</declaredTypes>
</dataContractSerializer>
</system.runtime.serialization>
</configuration>
Обратите внимание на использование элемента конфигурации. «Параметр» с атрибутами «тип» и 'index'.