FC2ブログ

たこぜりー研究室

大腸菌DNAは4.64Mbp。酵母は13Mbpで、ヒトは3Gbp

IObjectReference Interface

#422
最近ようやくシリアル化について触れるようになった次第。

そして出てくる問題は static なシングルトンオブジェクトのシリアル化。
逆シリアル化後もシングルトンであるためには特別な措置が必要とな。

public static class AlphabetManager
{
  public static IAlphabet Empty
  {
    get { return empty; }
  }

  private static readonly EmptyAlphabet empty
    = new EmptyAlphabet();

  [Serializable]
  internal sealed class EmptyAlphabet
    : IAlphabet, IObjectReference
  {
    ...

    [SecurityPermission(SecurityAction.LinkDemand,
      SerializationFormatter = true)]
    public object GetRealObject(StreamingContext context)
    {
      return AlphabetManager.Empty;
    }
  }
}

とまぁこんな感じでもいけるということを、立ち読みで知った。
スポンサーサイト