File tree 1 file changed +12
-2
lines changed
1 file changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -384,7 +384,16 @@ public T AsStruct<T>()
384
384
385
385
Throw . If ( fi == null , "unknown field: " + fieldName ) ;
386
386
387
- var fieldValue = entry . Value . ToObject ( ) ;
387
+ object fieldValue ;
388
+
389
+ if ( entry . Value . Type == VMType . Struct )
390
+ {
391
+ fieldValue = entry . Value . ToStruct ( fi . FieldType ) ;
392
+ }
393
+ else
394
+ {
395
+ fieldValue = entry . Value . ToObject ( ) ;
396
+ }
388
397
389
398
fieldValue = ConvertObjectInternal ( fieldValue , fi . FieldType ) ;
390
399
@@ -1008,7 +1017,8 @@ public object ToObject()
1008
1017
case VMType . Timestamp : return this . AsTimestamp ( ) ;
1009
1018
case VMType . Object : return this . Data ;
1010
1019
case VMType . Enum : return this . Data ;
1011
- default : return null ;
1020
+
1021
+ default : throw new Exception ( $ "Cannot cast { Type } to object") ;
1012
1022
}
1013
1023
}
1014
1024
You can’t perform that action at this time.
0 commit comments