NetworkChange Class
Allows applications to receive notification when the Internet Protocol (IP) address of a network interface, also called a network card or adapter, changes.
Namespace: System.Net.NetworkInformation
Assembly: System (in System.dll)
The NetworkChange type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() ![]() | RegisterNetworkChange | Obsolete. Registers a network change instance to receive network change events. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() ![]() ![]() ![]() | NetworkAddressChanged | Occurs when the IP address of a network interface changes. |
![]() ![]() | NetworkAvailabilityChanged | Occurs when the availability of the network changes. |
The NetworkChange class provides address change notification by raising NetworkAddressChanged events. An interface address can change for many reasons, such as a disconnected network cable, moving out of range of a wireless Local Area Network, or hardware failure.
To receive notification, you must identify your application's event handlers, which are one or more methods that perform your application-specific tasks each time the event is raised. To have a NetworkChange object call your event-handling methods when a NetworkAddressChanged event occurs, you must associate the methods with a NetworkAddressChangedEventHandler delegate, and add this delegate to the event.
The following code example listens for address changes and displays the status of network interfaces when a NetworkAddressChanged event occurs.
using System; using System.Net; using System.Net.NetworkInformation; namespace Examples.Net.AddressChanges { public class NetworkingExample { public static void Main() { NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(AddressChangedCallback); Console.WriteLine("Listening for address changes. Press any key to exit."); Console.ReadLine(); } static void AddressChangedCallback(object sender, EventArgs e) { NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces(); foreach(NetworkInterface n in adapters) { Console.WriteLine(" {0} is {1}", n.Name, n.OperationalStatus); } } } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.





