2using System.Collections.Generic;
3using System.Reflection;
13 private readonly Type arrayType;
14 private readonly Type elementType;
15 private readonly
IProperty elementProperty;
23 this.arrayType = ArrayType;
24 this.elementType = ElementType;
25 this.elementProperty = ElementProperty;
40 Array A = (Array)Value;
48 foreach (
object Element
in A)
49 this.elementProperty.Serialize(Output, Element);
67 if (Len >
int.MaxValue)
68 throw new Exception(
"Array too long.");
72 Array Result = Array.CreateInstance(this.elementType, c);
74 for (i = 0; i < c; i++)
75 Result.SetValue(
this.elementProperty.Deserialize(Input,
this.elementType), i);
ulong ReadVarUInt64()
Reads a variable-length unsigned integer from the input.
override void Serialize(Serializer Output, object Value)
Serializes the property value of an object.
override Type PropertyType
Property Type
override object Deserialize(Deserializer Input, Type ExpectedType)
Deserializes the property value
Abstract base class for properties
void WriteVarUInt64(ulong Value)
Writes a variable-length unsigned integer to the output.
Abstract base class for properties