NetworkInterface 类 
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供网络接口的配置和统计信息。
public ref class NetworkInterface abstract sealedpublic ref class NetworkInterface abstractpublic static class NetworkInterfacepublic abstract class NetworkInterfacetype NetworkInterface = classPublic Class NetworkInterfacePublic MustInherit Class NetworkInterface- 继承
- 
				NetworkInterface
示例
下面的代码示例显示有关接口的信息。
public static void ShowNetworkInterfaces()
{
    IPGlobalProperties computerProperties = IPGlobalProperties.GetIPGlobalProperties();
    NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
    Console.WriteLine("Interface information for {0}.{1}     ",
            computerProperties.HostName, computerProperties.DomainName);
    if (nics == null || nics.Length < 1)
    {
        Console.WriteLine("  No network interfaces found.");
        return;
    }
    Console.WriteLine("  Number of interfaces .................... : {0}", nics.Length);
    foreach (NetworkInterface adapter in nics)
    {
        IPInterfaceProperties properties = adapter.GetIPProperties();
        Console.WriteLine();
        Console.WriteLine(adapter.Description);
        Console.WriteLine(String.Empty.PadLeft(adapter.Description.Length,'='));
        Console.WriteLine("  Interface type .......................... : {0}", adapter.NetworkInterfaceType);
        Console.WriteLine("  Physical Address ........................ : {0}",
                   adapter.GetPhysicalAddress().ToString());
        Console.WriteLine("  Operational status ...................... : {0}",
            adapter.OperationalStatus);
        string versions ="";
        // Create a display string for the supported IP versions.
        if (adapter.Supports(NetworkInterfaceComponent.IPv4))
        {
             versions = "IPv4";
         }
        if (adapter.Supports(NetworkInterfaceComponent.IPv6))
        {
            if (versions.Length > 0)
            {
                versions += " ";
             }
            versions += "IPv6";
        }
        Console.WriteLine("  IP version .............................. : {0}", versions);
        ShowIPAddresses(properties);
        // The following information is not useful for loopback adapters.
        if (adapter.NetworkInterfaceType == NetworkInterfaceType.Loopback)
        {
            continue;
        }
        Console.WriteLine("  DNS suffix .............................. : {0}",
            properties.DnsSuffix);
        string label;
        if (adapter.Supports(NetworkInterfaceComponent.IPv4))
        {
            IPv4InterfaceProperties ipv4 = properties.GetIPv4Properties();
            Console.WriteLine("  MTU...................................... : {0}", ipv4.Mtu);
            if (ipv4.UsesWins)
            {
                IPAddressCollection winsServers = properties.WinsServersAddresses;
                if (winsServers.Count > 0)
                {
                    label = "  WINS Servers ............................ :";
                    ShowIPAddresses(label, winsServers);
                }
            }
        }
        Console.WriteLine("  DNS enabled ............................. : {0}",
            properties.IsDnsEnabled);
        Console.WriteLine("  Dynamically configured DNS .............. : {0}",
            properties.IsDynamicDnsEnabled);
        Console.WriteLine("  Receive Only ............................ : {0}",
            adapter.IsReceiveOnly);
        Console.WriteLine("  Multicast ............................... : {0}",
            adapter.SupportsMulticast);
        ShowInterfaceStatistics(adapter);
        Console.WriteLine();
    }
}
注解
此类封装本地计算机上的网络接口(也称为适配器)的数据。 不创建此类的实例; GetAllNetworkInterfaces 方法返回一个数组,该数组包含本地计算机上的每个网络接口的此类的一个实例。
构造函数
| NetworkInterface() | 初始化 NetworkInterface 类的新实例。 | 
属性
| Description | 获取接口的描述。 | 
| Id | 获取网络适配器的标识符。 | 
| IPv6LoopbackInterfaceIndex | 获取 IPv6 环回接口的索引。 | 
| IsReceiveOnly | 获取 Boolean 值,该值指示网络接口是否设置为仅接收数据包。 | 
| LoopbackInterfaceIndex | 获取 IPv4 环回接口的索引。 | 
| Name | 获取网络适配器的名称。 | 
| NetworkInterfaceType | 获取接口类型。 | 
| OperationalStatus | 获取网络连接的当前操作状态。 | 
| Speed | 获取网络接口的速度。 | 
| SupportsMulticast | 获取 Boolean 值,该值指示是否启用网络接口以接收多播数据包。 | 
方法
| GetAllNetworkInterfaces() | 返回描述本地计算机上的网络接口的对象。 | 
| GetIPProperties() | 返回描述此网络接口的配置的对象。 | 
| GetIPStatistics() | 获取此 NetworkInterface 实例的 IP 统计信息。 | 
| GetIPv4Statistics() | 获取此 NetworkInterface 实例的 IPv4 统计信息。 | 
| GetIsNetworkAvailable() | 指示是否有任何可用的网络连接。 | 
| GetPhysicalAddress() | 返回此适配器的媒体访问控制 (MAC) 或物理地址。 | 
| Supports(NetworkInterfaceComponent) | 获取 Boolean 值,该值指示接口是否支持指定的协议。 |