@@ -372,8 +372,7 @@ internal void SerializeTableSchema(SerializationInfo info, StreamingContext cont
372372 info . AddValue ( string . Format ( formatProvider , "DataTable.DataColumn_{0}.DefaultValue" , i ) , Columns [ i ] . DefaultValue ) ;
373373 info . AddValue ( string . Format ( formatProvider , "DataTable.DataColumn_{0}.ReadOnly" , i ) , Columns [ i ] . ReadOnly ) ;
374374 info . AddValue ( string . Format ( formatProvider , "DataTable.DataColumn_{0}.MaxLength" , i ) , Columns [ i ] . MaxLength ) ;
375- info . AddValue ( string . Format ( formatProvider , "DataTable.DataColumn_{0}.DataType" , i ) , Columns [ i ] . DataType ) ;
376-
375+ info . AddValue ( string . Format ( formatProvider , "DataTable.DataColumn_{0}.DataType_AssemblyQualifiedName" , i ) , Columns [ i ] . DataType . AssemblyQualifiedName ) ;
377376 info . AddValue ( string . Format ( formatProvider , "DataTable.DataColumn_{0}.XmlDataType" , i ) , Columns [ i ] . XmlDataType ) ;
378377 info . AddValue ( string . Format ( formatProvider , "DataTable.DataColumn_{0}.SimpleType" , i ) , Columns [ i ] . SimpleType ) ;
379378
@@ -442,7 +441,8 @@ internal void DeserializeTableSchema(SerializationInfo info, StreamingContext co
442441 dc . _columnUri = info . GetString ( string . Format ( formatProvider , "DataTable.DataColumn_{0}.Namespace" , i ) ) ;
443442 dc . Prefix = info . GetString ( string . Format ( formatProvider , "DataTable.DataColumn_{0}.Prefix" , i ) ) ;
444443
445- dc . DataType = ( Type ) info . GetValue ( string . Format ( formatProvider , "DataTable.DataColumn_{0}.DataType" , i ) , typeof ( Type ) ) ;
444+ string typeName = ( string ) info . GetValue ( string . Format ( formatProvider , "DataTable.DataColumn_{0}.DataType_AssemblyQualifiedName" , i ) , typeof ( string ) ) ;
445+ dc . DataType = Type . GetType ( typeName , throwOnError : true ) ;
446446 dc . XmlDataType = ( string ) info . GetValue ( string . Format ( formatProvider , "DataTable.DataColumn_{0}.XmlDataType" , i ) , typeof ( string ) ) ;
447447 dc . SimpleType = ( SimpleType ) info . GetValue ( string . Format ( formatProvider , "DataTable.DataColumn_{0}.SimpleType" , i ) , typeof ( SimpleType ) ) ;
448448
0 commit comments