シリアライズをサポートしていません。つのオプションがあります。使用してカスタム製のシリアル化を実行します。関するドキュメントを参照してください。属性をもっていること。フィールドが抽象でないこと。フィールドが静的でないこと。ジェネリッククラスから継承したとしてもフィールドがジェネリックでないこと。構造体をシリアライズするのと同じように、値によってインラインでシリアライズします。カスタムクラスのインスタンスへの参照をいくつかの異なるフィールドに格納すると、それらはシリアライズされるときに別々のオブジェクトになります。それらのフィールドをデシリアライズすると、フィールドには同じデータを持つ別個のオブジェクトが含まれます。オブジェクトを自動的にシリアライズしないようにしてください。使用して手動でシリアライズします。オブジェクト参照から複数のオブジェクトを作成するのを防ぎます。関するドキュメントを参照してください。これは、カスタムクラスの場合にのみ当てはまります。カスタムクラスを「インライン」でシリアライズします。完全なシリアル化データの一部となるためです。実際の参照をシリアライズします。派生したスクリプトのインスタンスでも同じことが起こります。デシリアライズするとき、いくつのアロケーションが発生するか考えてみてください。回アロケーションが発生するのは普通です。オブジェクトで発生します。回アロケーションが発生するのも異常ではありません。オブジェクトで発生します。以上のアロケーションを行います。サポートしていません。その型の新しいオブジェクトをインスタンス化し、それをシリアライズします。レベルの深度制限があります。カスタムクラス、構造体、リスト、配列の型を持つフィールドのシリアライズを停止します。予想外に大きなシリアル化のストリームは、これらすべてのサブシステムのパフォーマンスを必要以上に低下させます。インスタンスができます。つの方法は、インラインでシリアル化されるカスタムクラスにのみ適用されることに注意することです。参照は実際の参照としてシリアル化され、それらのためにポリモーフィズムが実際に機能します。派生クラスを作成し、それを参照します。スクリプタブルオブジェクトをどこかに格納する必要があり、インラインで効率的にシリアライズできないことです。して、オブジェクトのデータストリームのレイアウトが事前にわかっていることです。フィールド内に格納されるものではなく、クラスのフィールドの型に依存します。シリアル化を最適な方法で使用するために、データを整理します。最小限のデータセットをシリアライズさせるためにデータを整理します。これの主な目的は、コンピューターのハードドライブ上の領域を節約するためではなく、以前のバージョンのプロジェクトとの下位互換性を確実に維持するためです。シリアライズされたデータの大きなセットを扱う場合、下位互換性は開発の後になるほど難しくなります。複製されたデータやキャッシュされたデータをシリアライズしないようにデータを整理します。これは、下位互換性にとって重大な問題が起きる原因になります。データが同期されにくくなるため、エラーが発生する可能性が高くなります。他のクラスを参照するネストされた再帰的な構造を避けるようにします。シリアライズされた構造のレイアウトは常に同じである必要があります。データとは独立し、スクリプト内に公開されているもののみに依存します。派生したクラスを使用することです。これらのクラスは完全に分かれていて、互いを参照するだけで、コンテンツを埋め込むことはありません。ロードしたすべてのスクリプトのすべての変数をシリアライズして保存します。それらをシリアル化前の元の値に復元します。プライベート変数がリストアされることを避けることが必要な場合もあります。