protected virtual void WriteValueSlotHashData(BinaryWriter hashInput, IValueSlot valueSlot) { hashInput.Write((byte)valueSlot.ValueType); switch (valueSlot.ValueType) { case ConstantType.True: case ConstantType.False: hashInput.Write((bool)valueSlot.Value); break; case ConstantType.String: hashInput.Write((string)valueSlot.Value); break; case ConstantType.Double: hashInput.Write((double)valueSlot.Value); break; case ConstantType.Integer: hashInput.Write((int)valueSlot.Value); break; case ConstantType.UInteger: hashInput.Write((uint)valueSlot.Value); break; } }