重複の可能性:
コンストラクター署名を定義するインターフェース?
クラスとインターフェースの階層が混在しています。
シリアル化を使用するには、各クラスにデフォルトのコンストラクターが存在する必要があります。コンパイラーが、デフォルトのコンストラクターが階層のどこかに欠落していることを教えてくれれば、私は本当に感謝します。(後のテストではなく、コンパイル時に問題を確認します)
マークアップや属性が欲しいのですが、何も見つかりませんでした。
何かのようなもの:
[ForceDefaultConstructor]
interface IVeryQuickSerializable
{
Serialize();
Deserialize();
}
素晴らしいことだ!
しかし、そのようなものは非常にありがたいです。
制限があります:シリアル化を変更できません。それを一般的にすることで問題は解決しますが、私には情報源がありません。ラッパーを作成することでうまくいくかもしれませんが、トップレベルのシリアル化インターフェイス(変更されない場合があります)から派生したオブジェクトの抜け穴があります。