さて、これをできるだけ簡潔にすることができるかどうか見てみましょう. 渡されたデータをシリアルobject化するために を内部的に使用するメソッドに、未知の型BinaryFormatterの を渡します (これを選択したのは、データが何であるかわからないため、想像できる最も抽象的なメカニズムです)。 )。そして、メソッドが現在次のようになっていると仮定しましょう:
public void ProvideData(Guid providerKey, ISerializable data, string dataType)...
次に、渡されたものを実際にシリアル化できることを確認する必要があると仮定して、オブジェクトを実装する必要があると考えた理由を考えISerializableてみましょう。ただし、このモデルの問題点の 1 つは、aを実装していないstringにもかかわらず、 astringを渡すことさえできないことです。[Serializable]ISerializable
では、このメソッドを構造化して、単純または複雑に渡された値がシリアライズ可能であることを確認するにはどうすればよいでしょうか?