Appliquez l'attribut SerializableAttribute à un type pour indiquer que les instances de ce type peuvent être sérialisées. Le Common Language Runtime lève SerializationException si aucun attribut SerializableAttribute ne s'applique à un type de graphique d'objets en cours de sérialisation.
Appliquez l'attribut SerializableAttribute même si la classe implémente également l'interface ISerializable pour contrôler le processus de sérialisation.
Tous les champs publics et privés d'un type marqués avec SerializableAttribute sont sérialisés par défaut, à moins que le type n'implémente l'interface ISerializable pour substituer le processus de sérialisation. Le processus de sérialisation par défaut exclut des champs marqués à l'aide de l'attribut NonSerializedAttribute. Si un champ d'un type sérialisable contient un pointeur, un handle ou une autre structure de données spécifique à un environnement particulier et ne peut pas être reconstitué de manière significative dans un autre environnement, il est possible d'appliquer l'attribut NonSerializedAttribute à ce champ.
Pour plus d'informations sur l'utilisation des attributs, consultez Extension des métadonnées à l'aide des attributs. Pour plus d'informations sur la sérialisation, consultez System.Runtime.Serialization.
Remarque sur la plateforme Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows CE :
L'attribut SerializableAttribute est présent dans le .NET Compact Framework uniquement à des fins de compatibilité, et sera ignoré s'il est utilisé.