次の方法で共有


CA2238: シリアル化メソッドを正しく実装します

Item [値]
規則 ID CA2238
カテゴリ Microsoft.Usage
互換性に影響する変更点 中断あり - アセンブリの外部からメソッドを参照できる場合。

中断なし - アセンブリの外部からメソッドを参照できない場合。

原因

シリアル化イベントを処理するメソッドに、適切なシグネチャ、戻り値の型、または参照範囲がありません。

規則の説明

次のシリアル化イベント属性の 1 つを適用することで、メソッドがシリアル化イベント ハンドラーとして指名されます。

違反の修正方法

この規則の違反を修正するには、シリアル化イベント ハンドラーの署名、戻り値の型、または参照可能範囲を修正します。

どのようなときに警告を抑制するか

この規則による警告は抑制しないでください。

次の例では、宣言されたシリアル化イベント ハンドラーが正しく表示されています。

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: ISerializable 型で基本クラス メソッドを呼び出します

CA2240: ISerializable を正しく実装します

CA2229:シリアル化コンストラクターを実装します

CA2235:すべてのシリアル化不可能なフィールドを設定します

CA2237:ISerializable 型を SerializableAttribute に設定します

CA2239: オプションのフィールドに逆シリアル化メソッドを指定します

CA2120: シリアル化コンストラクターをセキュリティで保護します