めったに変更されない10のケースのみの場合、Switchステートメントを使用するいくつかのメソッドでおそらく十分です。
静的オブジェクトを制御できる場合は、すべて「シリアル化コード」文字を返す新しいインターフェイスを実装できます。
public interface IStaticObject
{
char SerializationCode { get; };
}
したがって、その方向に進むのは簡単です:someObject.SerializationCode。次に、静的オブジェクトすべてに、Dictionaryを持つシングルトンインスタンスにSerializationCodeを登録するコンストラクターを使用させることもできます。
public class SomeStaticObject : IStaticObject
{
public void SomeStaticObject()
{
StaticObjectRegistrar.Register(this.SerializationCode, this);
}
public char SerializationCode
{
get
{
return ?;
}
}
}
デシリアライズでは、文字を取得し、そのディクショナリを実行して静的オブジェクトを元に戻します。