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í:
System.Runtime.Serialization.OnDeserializedAttribute
Obslužné rutiny událostí serializace přebírají jeden parametr typu System.Runtime.Serialization.StreamingContext, return
void
a majíprivate
viditelnost.
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) {}
}
}
Související pravidla
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
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro