DataContract по сравнению с XmlType

Вы можете использовать page источник событий в mat-paginator как (page)="onPageChange($event)"

Hello {{item.name}}
onPageChange($event) { this.currentItemsToShow = this.items.slice($event.pageIndex*$event.pageSize, $event.pageIndex*$event.pageSize + $event.pageSize); }

Демонстрация Stackblitz, показывающая настроенный пагинатор, попробуйте изменить значения пагинатора

5
задан Ian Suttle 9 March 2009 в 05:44
поделиться

4 ответа

Основной момент DataContractSerializer не должен управлять деталями сериализации. Вместо этого идея состоит в том, чтобы сериализировать Ваши данные в форму, которая может быть использована наибольшим числом клиентов.

Вместо того, чтобы быть обеспокоенным деталями схемы, каждый определяет контракт данных с точки зрения элементов данных, которые будут отправлены и получены. Это - очень абстрактное описание данных. Это сериализируется в очень простой формат, который отражает абстрактное описание.

Сериализатор XML должен использоваться только там, где Вы абсолютно требуете, чтобы управление деталями XML было сериализировано или десериализовано. Когда Вы не нуждаетесь в так большом управлении, придерживаетесь Сериализатора Контракта Данных.

5
ответ дан 14 December 2019 в 04:48
поделиться

Точка разъяснения: [сериализуемый] атрибут не имеет никакого отношения к XmlSerialization. [Сериализуемый] атрибут имеет отношение ко Времени выполнения. Сериализация. Сбивающий с толку, да.

В.NET существует слишком много сериализаторов.

2
ответ дан 14 December 2019 в 04:48
поделиться

Посмотрите XmlSerializer по сравнению с DataContractSerializer: сериализация в Wcf.

Править:

Посмотрите Настраивают Вашу сериализацию XML объекта.NET с атрибутами XML.NET. Заставьте свои данные сериализировать в форму, которую Вы хотите сначала. Затем поместите XmlSerializerFormat атрибут.

[ServiceContract]
[XmlSerializerFormat]
public interface MyService
{
    [OperationContract]
    [XmlSerializerFormat]
    void MyMethod();
}
1
ответ дан 14 December 2019 в 04:48
поделиться

Ну, существует много сравнений там на DataContractSerializer по сравнению с XmlSerializer.

Я предполагаю, что основные моменты, по-моему:

  • DataContract, "подписываются" - необходимо явно добавить атрибут [DataMember] к любому полю или свойству (общедоступный, частный, внутренний или безотносительно) для сериализации - если Вы не будете иметь, то это не будет там. XmlSerializer просто сериализирует все общественные собственности

  • DataContract позволяет Вам указывать определенный порядок элементов данных - XmlSerializer просто использует порядок, в котором они появляются в Вашем исходном коде

  • XmlSerializer требует общедоступного, конструктора без параметров для Вашего класса

В простых примерах эти преимущества DataContractSerializer не могли бы походить на много, действительно - но это может быть явное преимущество в приложениях более широкого масштаба, если Ваш объект данных не должен иметь общедоступного конструктора без параметров, и что Вы не должны "искусственно" появляться элементы как общественные собственности только для включения их в сериализацию.

Marc

0
ответ дан 14 December 2019 в 04:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: