internal static void Start(NetworkAvailabilityChangedEventHandler caller)
{
lock (s_syncObject)
{
if (s_availabilityCallerArray.Count == 0)
{
s_isAvailable = NetworkInterface.GetIsNetworkAvailable();
AddressChangeListener.UnsafeStart(s_addressChange);
}
if ((caller != null) && (!s_availabilityCallerArray.ContainsKey(caller)))
{
s_availabilityCallerArray.Add(caller, ExecutionContext.Capture());
}
}
}