Sdílet prostřednictvím


CA2238: Implementujte správně metody serializace

Zboží Hodnota
RuleId CA2238
Kategorie Microsoft.Usage
Změna způsobující chybu Přerušení – Pokud je metoda viditelná mimo sestavení.

Non-breaking - Pokud metoda není viditelná mimo sestavení.

Příčina

Metoda, která zpracovává událost serializace, nemá správný podpis, návratový typ nebo viditelnost.

Popis pravidla

Metoda je určena obslužná rutina události serializace použitím jednoho z následujících atributů serializace událostí:

Jak opravit porušení

Chcete-li opravit porušení tohoto pravidla, opravte podpis, návratový typ nebo viditelnost obslužné rutiny události serializace.

Kdy potlačit upozornění

Nepotlačujte upozornění na toto pravidlo.

Příklad

Následující příklad ukazuje správně deklarované obslužné rutiny událostí serializace.

using System;
using System.Runtime.Serialization;

namespace UsageLibrary
{
   [SerializableAttribute]
   public class SerializationEventHandlers
   {
      [OnSerializingAttribute]
      void OnSerializing(StreamingContext context) {}

      [OnSerializedAttribute]
      void OnSerialized(StreamingContext context) {}

      [OnDeserializingAttribute]
      void OnDeserializing(StreamingContext context) {}

      [OnDeserializedAttribute]
      void OnDeserialized(StreamingContext context) {}
   }
}

CA2236: Volejte metody třídy Base na typech ISerializable

CA2240: Implementujte správně ISerializable

CA2229: Implementovat serializační konstruktory

CA2235: Označte všechna neserializovatelná pole

CA2237: Označte typy ISerializable pomocí SerializableAttribute

CA2239: Poskytujte metody deserializace pro nepovinné pole

CA2120: Zabezpečte serializační konstruktory