public Serializator() : this(new TypeManager(), new HeapManager()) { TypeManager = new TypeManager(); HeapManager = new HeapManager(); ResolversManager = new ResolverBank(this); }
internal XElement HeapResolve(object resolveObject, string conventionType) { Guid finalGuid; //Метод GetCreateGuid(object,out Guid) возвращает bool значение которого отвечает на вопрос: //Был ли создан новый Guid для этого объекта if (HeapManager.GetCreateGuid(resolveObject, out finalGuid)) { //Для объекта resolveObject уже создан Guid методом GetCreateGuid //Поэтому теперь мы обновляем сериализированное состояние объекта и добавляем его в кучу сериализированных объектов HeapManager.Serialized.ReplaceValue(finalGuid, ResolveInternal(resolveObject, conventionType)); } //В случае если объект resolveObject существует в куче, предпологается что он также //существет и в куче сериализированных объектов. //В конечном счете, в итоговой xml-узел, в качестве значения, будет помещен guid указывающий на объект resolveObject return(XMLUtility.CreateReferenceNode(conventionType, finalGuid.ToString())); }
public Serializator(TypeManager typeManager, HeapManager heapManager) { TypeManager = typeManager; HeapManager = heapManager; ResolversManager = new ResolverBank(this); }
/// <summary> /// Отчищает все кучи. /// Вызывает HeapManager.FlashHeaps(); /// </summary> public void FlashHeaps() { HeapManager.FlashHeaps(); }