public static WeakMulticastDelegate Combine(WeakMulticastDelegate weakDelegate, Delegate realDelegate)
 {
     if (realDelegate == null)
     {
         return(null);
     }
     if (weakDelegate == null)
     {
         return(new WeakMulticastDelegate(realDelegate));
     }
     return(weakDelegate.Combine(realDelegate));
 }
 public static WeakMulticastDelegate Combine(WeakMulticastDelegate weakDelegate, Delegate realDelegate)
 {
     if (realDelegate == null) return null;
     if (weakDelegate == null) return new WeakMulticastDelegate(realDelegate);
     return weakDelegate.Combine(realDelegate);
 }
 public static WeakMulticastDelegate operator +(WeakMulticastDelegate d, Delegate realD)
 {
     return(WeakMulticastDelegate.Combine(d, realD));
 }