public static string CopyObjectReferences(IEnumerable <Object> targets, Type type) { lastOperationFailed = true; ClearCutData(); copiedType = type; hasObjectReference = false; objectReferences.Clear(); var ids = ReusedStringList; #if DEV_MODE && PI_ASSERTATIONS Debug.Assert(ids.Count == 0, "ReusedStringList.Count != 0!"); #endif foreach (var target in targets) { if (!hasObjectReference) { hasObjectReference = true; ObjectReference = target; } objectReferences.Add(target); ids.Add(PrettySerializer.SerializeReference(target)); } var serialize = ids.ToArray(); ids.Clear(); Content = PrettySerializer.Serialize(serialize); lastOperationFailed = false; return(Content); }
public static string CopyObjectReference([CanBeNull] Object target, Type type) { lastOperationFailed = true; ClearCutData(); ObjectReference = target; hasObjectReference = true; objectReferences.Clear(); objectReferences.Add(target); if (target == null) { copiedType = type; Content = ""; return(Content); } copiedType = target.GetType(); Content = PrettySerializer.SerializeReference(target); lastOperationFailed = false; return(Content); }