public static void UnregisterHost(IDispatchHost host)
 {
     lock (_hosts) {
         for (int i = 0; i < _hosts.Count; ++i)
         {
             if (ReferenceEquals(_hosts[i], host))
             {
                 _hosts.RemoveAt(i);
                 return;
             }
         }
     }
 }
 public static void UnregisterHost(IDispatchHost host)
 {
     lock(_hosts) {
         for(int i = 0; i < _hosts.Count; ++i) {
             if(ReferenceEquals(_hosts[i], host)) {
                 _hosts.RemoveAt(i);
                 return;
             }
         }
     }
 }
 public static void RegisterHost(IDispatchHost host)
 {
     lock (_hosts) {
         _hosts.Add(host);
     }
 }
 public static void RegisterHost(IDispatchHost host)
 {
     lock(_hosts) {
         _hosts.Add(host);
     }
 }