コード例 #1
0
 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);
     }
 }
コード例 #2
0
        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);
        }