@@ -250,6 +250,36 @@ public sealed partial class DRDataTableSample : DataRowBase
250250 /// <summary>数组</summary>
251251 public int [ ] ArrayValue { get ; private set ; }
252252
253+ /// <summary>
254+ /// 二维数组
255+ /// <para>使用标准JSON格式串</para>
256+ /// <para>备注1字符串</para>
257+ /// </summary>
258+ public int [ ] [ ] Array2DValue { get ; private set ; }
259+
260+ /// <summary>一维字符串数组</summary>
261+ public string [ ] ArrayStringValue { get ; private set ; }
262+
263+ /// <summary>三维数组</summary>
264+ public int [ ] [ ] [ ] Array3DValue { get ; private set ; }
265+
266+ /// <summary>枚举与整形的字典</summary>
267+ public Dictionary < ColorT , int > MapEnumToInt { get ; private set ; }
268+
269+ /// <summary>枚举数组</summary>
270+ public ColorT [ ] EnumArray { get ; private set ; }
271+
272+ /// <summary>JSON类</summary>
273+ /// <remarks>
274+ /// 批注示例文本,请注意查阅!
275+ /// <para><color>Red</color></para>
276+ /// <para><b>abc</b></para>
277+ /// </remarks>
278+ public SampleParent CustomJSON { get ; private set ; }
279+
280+ /// <summary>自定义类</summary>
281+ public CustomSample CustomFieldType { get ; private set ; }
282+
253283 public override bool Deserialize ( BinaryReader reader )
254284 {
255285 Id = reader . Read7BitEncodedInt32 ( ) ;
@@ -277,6 +307,105 @@ public override bool Deserialize(BinaryReader reader)
277307 ArrayValue [ x1 ] = key1 ;
278308 }
279309 }
310+ {
311+ var __Array2DValue_Count1 = reader . Read7BitEncodedInt32 ( ) ;
312+ Array2DValue = new int [ __Array2DValue_Count1 ] [ ] ;
313+ for ( int x1 = 0 ; x1 < __Array2DValue_Count1 ; x1 ++ )
314+ {
315+ int [ ] key1 ;
316+ {
317+ var __key1_Count3 = reader . Read7BitEncodedInt32 ( ) ;
318+ key1 = new int [ __key1_Count3 ] ;
319+ for ( int x3 = 0 ; x3 < __key1_Count3 ; x3 ++ )
320+ {
321+ int key3 ;
322+ key3 = reader . Read7BitEncodedInt32 ( ) ;
323+ key1 [ x3 ] = key3 ;
324+ }
325+ }
326+ Array2DValue [ x1 ] = key1 ;
327+ }
328+ }
329+ {
330+ var __ArrayStringValue_Count1 = reader . Read7BitEncodedInt32 ( ) ;
331+ ArrayStringValue = new string [ __ArrayStringValue_Count1 ] ;
332+ for ( int x1 = 0 ; x1 < __ArrayStringValue_Count1 ; x1 ++ )
333+ {
334+ string key1 ;
335+ key1 = reader . ReadString ( ) ;
336+ ArrayStringValue [ x1 ] = key1 ;
337+ }
338+ }
339+ {
340+ var __Array3DValue_Count1 = reader . Read7BitEncodedInt32 ( ) ;
341+ Array3DValue = new int [ __Array3DValue_Count1 ] [ ] [ ] ;
342+ for ( int x1 = 0 ; x1 < __Array3DValue_Count1 ; x1 ++ )
343+ {
344+ int [ ] [ ] key1 ;
345+ {
346+ var __key1_Count3 = reader . Read7BitEncodedInt32 ( ) ;
347+ key1 = new int [ __key1_Count3 ] [ ] ;
348+ for ( int x3 = 0 ; x3 < __key1_Count3 ; x3 ++ )
349+ {
350+ int [ ] key3 ;
351+ {
352+ var __key3_Count5 = reader . Read7BitEncodedInt32 ( ) ;
353+ key3 = new int [ __key3_Count5 ] ;
354+ for ( int x5 = 0 ; x5 < __key3_Count5 ; x5 ++ )
355+ {
356+ int key5 ;
357+ key5 = reader . Read7BitEncodedInt32 ( ) ;
358+ key3 [ x5 ] = key5 ;
359+ }
360+ }
361+ key1 [ x3 ] = key3 ;
362+ }
363+ }
364+ Array3DValue [ x1 ] = key1 ;
365+ }
366+ }
367+ {
368+ MapEnumToInt = new Dictionary < ColorT , int > ( ) ;
369+ var __MapEnumToInt_Count1 = reader . Read7BitEncodedInt32 ( ) ;
370+ for ( int x1 = 0 ; x1 < __MapEnumToInt_Count1 ; x1 ++ )
371+ {
372+ ColorT key1 ;
373+ {
374+ ColorT __enumVal = default ;
375+ var __enumStr = reader . ReadString ( ) ;
376+ if ( ! string . IsNullOrEmpty ( __enumStr ) && ! Enum . TryParse ( __enumStr , out __enumVal ) )
377+ {
378+ throw new ArgumentException ( ) ;
379+ }
380+ key1 = __enumVal ;
381+ }
382+ int value1 ;
383+ value1 = reader . Read7BitEncodedInt32 ( ) ;
384+ MapEnumToInt . Add ( key1 , value1 ) ;
385+ }
386+ }
387+ {
388+ var __EnumArray_Count1 = reader . Read7BitEncodedInt32 ( ) ;
389+ EnumArray = new ColorT [ __EnumArray_Count1 ] ;
390+ for ( int x1 = 0 ; x1 < __EnumArray_Count1 ; x1 ++ )
391+ {
392+ ColorT key1 ;
393+ {
394+ ColorT __enumVal = default ;
395+ var __enumStr = reader . ReadString ( ) ;
396+ if ( ! string . IsNullOrEmpty ( __enumStr ) && ! Enum . TryParse ( __enumStr , out __enumVal ) )
397+ {
398+ throw new ArgumentException ( ) ;
399+ }
400+ key1 = __enumVal ;
401+ }
402+ EnumArray [ x1 ] = key1 ;
403+ }
404+ }
405+ {
406+ CustomJSON = reader . ReadJson < SampleParent > ( ) ;
407+ }
408+ CustomFieldType = new CustomSample ( reader . ReadString ( ) ) ;
280409 return true ;
281410 }
282411}
0 commit comments