Реальное важное различие уже упоминается в ответе Chris. Однако последствия не будут очевидны для всех.
, Поскольку встроенный элемент, <span>
может только содержать другие встроенные элементы. Следующий код является поэтому неправильным:
<span><p>This is a paragraph</p></span>
вышеупомянутый код не допустим. Для обертывания элементов блочного уровня другой элемент блочного уровня должен использоваться (такой в качестве <div>
). С другой стороны, <div>
может только использоваться в местах, где элементы блочного уровня законны.
, Кроме того, эти правила фиксируются в (X) HTML, и они не изменены присутствием правил CSS! Таким образом, следующие коды также неправильно!
<span style="display: block"><p>Still wrong</p></span>
<span><p style="display: inline">Just as wrong</p></span>
К сожалению, System. Класс Net.Mail.MailMessage не помечен как сериализуемый. Так что да, вам нужно сделать это самому. В следующем сообщении блога описан метод, который может дать вам представление о том, как вы могли бы действовать: Как сериализовать MailMessage ... в основном, вам нужно будет извлечь каждое из свойств по отдельности. Цитата:
Для сериализации свойств объекта MailMessage вы можете создать новый класс и создайте для него свойство типа MailMessage, которое встраивает ваше MailMessage в классе. В этом новом классе вы можете реализовать IXmlSerializable для ручной сериализации сообщения MailMessage. Вот Я создаю этот класс и называю его SerializableMailMessage [...]
[реализация кода методов WriteXml () и ReadXml () приводится ниже; см. ссылку на исходный код]