次の方法で共有


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 インスタンス。

戻り値

Object

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

注意 (実装者)

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

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

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

適用対象