JavaScriptConverter.Deserialize メソッド

定義

派生クラスでオーバーライドされると、指定されたディクショナリを指定した型のオブジェクトに変換します。

public:
 abstract System::Object ^ Deserialize(System::Collections::Generic::IDictionary<System::String ^, System::Object ^> ^ dictionary, Type ^ type, System::Web::Script::Serialization::JavaScriptSerializer ^ serializer);
public abstract object Deserialize(System.Collections.Generic.IDictionary<string,object> dictionary, Type type, System.Web.Script.Serialization.JavaScriptSerializer serializer);
abstract member Deserialize : System.Collections.Generic.IDictionary<string, obj> * Type * System.Web.Script.Serialization.JavaScriptSerializer -> obj
Public MustOverride Function Deserialize (dictionary As IDictionary(Of String, Object), type As Type, serializer As JavaScriptSerializer) As Object

パラメーター

dictionary
IDictionary<String,Object>

名前と値のペアとして格納されているプロパティ データの IDictionary<TKey,TValue> インスタンス。

type
Type

結果のオブジェクトの型。

serializer
JavaScriptSerializer

JavaScriptSerializer のインスタンスです。

返品

逆シリアル化されたオブジェクト。

注意 (実装者)

Deserialize(IDictionary<String,Object>, Type, JavaScriptSerializer) メソッドは、dictionary パラメーター内の値を反復処理して、type パラメーターで要求された型のインスタンスを構築します。 コンバーターは dictionaryの値を直接使用できますが、代わりに ConvertToType<T>(Object) メソッドを使用することをお勧めします。 コンバーターは、serializer パラメーターから使用できるJavaScriptSerializer インスタンスのこのメソッドを呼び出す必要があります。

ConvertToType<T>(Object) メソッドを使用すると、コンバーターはdictionaryからプロパティ値を渡し、期待される型の値を返すことができます。 場合によっては、カスタム型のコンバーターが、自身に登録されているコンバーターを持つプロパティを操作している場合があります (たとえば、型 A には型 B のプロパティがあり、型 B もカスタム コンバーターに関連付けられています)。 その場合、 ConvertToType<T>(Object) を呼び出すと、ディクショナリに含まれるプロパティ データに対してカスタム コンバーターが再帰的に呼び出されるようになります。 コンバーターは、ディクショナリ内のすべてのエントリを反復処理すると、ターゲット型の構築されたインスタンスを返します。

逆シリアル化中にコンバーターで問題が発生した場合は、その問題を説明する InvalidOperationException エラーがスローされます。

適用対象