internal static WeakAttachmentsInfo GetOrCreateAttachments(object parent) { if (parent == null) { return(null); } lock (Attachments) { WeakAttachmentsInfo info; if (Attachments.TryGetValue(parent, out info)) { return(info); } info = new WeakAttachmentsInfo(); if (parent is WeakReferenceEx) { info.Parent = parent as WeakReferenceEx; } else { info.Parent = new WeakReferenceEx(parent); } Attachments[info.Parent] = info; return(info); } }
private static WeakAttachmentsInfo CreateAttachmentsInfo(object parent) { var info = new WeakAttachmentsInfo(); if (parent is WeakReferenceEx) { info.Parent = parent as WeakReferenceEx; } else { info.Parent = new WeakReferenceEx(parent); } return(info); }