public void Deserialize(ref SerializationReader mySerializationReader) { UInt32 _Capacity; try { if (mySerializationReader != null) { UUID = new AttributeUUID(); UUID.Deserialize(ref mySerializationReader); DBTypeUUID = new TypeUUID(); DBTypeUUID.Deserialize(ref mySerializationReader); KindOfType = (KindsOfType)mySerializationReader.ReadOptimizedByte(); TypeCharacteristics = new TypeCharacteristics(); TypeCharacteristics.Deserialize(ref mySerializationReader); Name = mySerializationReader.ReadString(); var hasEdgeType = mySerializationReader.ReadBoolean(); if (hasEdgeType) { try { EdgeType = (IEdgeType) mySerializationReader.ReadObject(); } catch(Exception ex) { //NLOG: temporarily commented //Logger.Fatal("Could not deserialize EdgeType"); throw new GraphDBException(new Error_UnknownDBError(ex)); } } RelatedGraphDBTypeUUID = new TypeUUID(); RelatedGraphDBTypeUUID.Deserialize(ref mySerializationReader); if (TypeCharacteristics.IsBackwardEdge) BackwardEdgeDefinition = (EdgeKey) mySerializationReader.ReadObject(); DefaultValue = (IObject) mySerializationReader.ReadObject(); #region Read Settings _Capacity = mySerializationReader.ReadUInt32(); _Settings = new Dictionary<String, ADBSettingsBase>(); for (var i = 0; i < _Capacity; i++) { var _SettingObject = (ADBSettingsBase) mySerializationReader.ReadObject(); if (_SettingObject != null) _Settings.Add(_SettingObject.Name, _SettingObject); /*Type settingType = (Type)mySerializationReader.ReadObject(); ADBSettingsBase _SettingObject = null; try { _SettingObject = (ADBSettingsBase)Activator.CreateInstance(settingType); } catch { Logger.Error("Could not create an instance of setting " + settingType.ToString()); } Byte[] Bytes = (Byte[])mySerializationReader.ReadObject(); if (_SettingObject != null) { _SettingObject.Deserialize(new SerializationReader(Bytes)); _Settings.Add(_SettingObject.Name, _SettingObject); }*/ } #endregion } } catch (Exception e) { throw new SerializationException("The Setting could not be deserialized!\n\n" + e); } }