ホームページ  >  記事  >  バックエンド開発  >  Cのリフレクションとシリアル化とは何ですか

Cのリフレクションとシリアル化とは何ですか

anonymity
anonymityオリジナル
2019-05-08 13:41:263724ブラウズ

リフレクションとシリアル化は異なります:

リフレクション: プログラムが自身の状態や動作にアクセス、検出、変更する機能を指します。アセンブリにはモジュールが含まれ、モジュールには型が含まれます。 、メンバーが含まれています。リフレクションは、アセンブリ、モジュール、型をカプセル化するオブジェクトを提供します。リフレクションを通じて型のインスタンスを動的に作成したり、型を既存のオブジェクトにバインドしたり、既存のオブジェクトから型を取得したりできます。その後、その型のメソッドを呼び出したり、そのフィールドやプロパティにアクセスしたりできます。

C# におけるリフレクションは、実際にはクラス ライブラリを動的に使用することであり、クラスとそのメンバーは名前で参照できます。

Cのリフレクションとシリアル化とは何ですか

# シリアル化 シリアル化とは、基本的にオブジェクトをファイルまたはストリームに保存することを指します。たとえば、ファイルをシリアル化して Xml またはディスク ファイルに保存できます。

シリアル化: シリアル化は、ネットワーク経由で送信するために、オブジェクトをバイナリ、xml、json などの送信しやすい形式に変換するプロセスです。シリアル化の反対は、ストリームをオブジェクトに変換する逆シリアル化です。つまり、シリアル化プロセス中に生成されたバイナリ文字列、XML、Json などをデータ構造またはオブジェクトに変換するプロセスです。シリアル化と逆シリアル化の 2 つのプロセスを組み合わせることで、データの保存と送信が容易になります。

シリアル化と逆シリアル化とは何ですか?

シリアル化と逆シリアル化という言葉をよく聞くことがありますが、実際、より一般的な説明では、シリアル化とはオブジェクトをファイルまたはデータベース フィールドに保存することであり、逆シリアル化とは、必要に応じて、このファイルを次のように変換することです。使用するオリジナルのオブジェクト。

2 つのプロセスがリモートで通信している場合、さまざまな種類のデータを相互に送信できます。データの種類に関係なく、データはバイナリ シーケンスの形式でネットワーク上に送信されます。送信者は、ネットワーク上で送信する前に、このオブジェクトをバイト シーケンスに変換する必要があり、受信者は、バイト シーケンスをオブジェクトに復元する必要があります。
オブジェクトをバイト シーケンスに変換するプロセスは、オブジェクトのシリアル化と呼ばれます。
バイト シーケンスをオブジェクトに復元するプロセスは、オブジェクトの逆シリアル化と呼ばれます。

一般的なシリアル化メソッド:

1. BinaryFormatter

2. SoapFormatter

3. XML シリアル化

以上がCのリフレクションとシリアル化とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。