Данная статья переведена с помощью средств машинного перевода. Чтобы просмотреть ее на английском языке, установите флажок Английский. Вы также можете просматривать английский текст во всплывающем окне, наводя указатель мыши на переведенный текст.
Перевод
Английский

Класс NetworkInterface

 

Опубликовано: Октябрь 2016

Предоставляет конфигурацию и статистические данные для сетевого интерфейса.

Пространство имен:   System.Net.NetworkInformation
Сборка:  System (в System.dll)

System.Object
  System.Net.NetworkInformation.NetworkInterface

public abstract class NetworkInterface

ИмяОписание
System_CAPS_protmethodNetworkInterface()

Инициализирует новый экземпляр класса NetworkInterface.

ИмяОписание
System_CAPS_pubpropertyDescription

Возвращает описание интерфейса.

System_CAPS_pubpropertyId

Возвращает идентификатор сетевого адаптера.

System_CAPS_pubpropertySystem_CAPS_staticIPv6LoopbackInterfaceIndex

Возвращает индекс интерфейса замыкания на себя IPv6.

System_CAPS_pubpropertyIsReceiveOnly

Возвращает Boolean значение, указывающее, задан ли сетевой интерфейс только на прием пакетов данных.

System_CAPS_pubpropertySystem_CAPS_staticLoopbackInterfaceIndex

Возвращает индекс интерфейса замыкания на себя IPv4.

System_CAPS_pubpropertyName

Возвращает имя сетевого адаптера.

System_CAPS_pubpropertyNetworkInterfaceType

Возвращает тип интерфейса.

System_CAPS_pubpropertyOperationalStatus

Возвращает текущее состояние работоспособности сетевого подключения.

System_CAPS_pubpropertySpeed

Возвращает скорость сетевого интерфейса.

System_CAPS_pubpropertySupportsMulticast

Возвращает Boolean значение, указывающее, включен ли сетевой интерфейс для получения пакетов многоадресной рассылки.

ИмяОписание
System_CAPS_pubmethodEquals(Object)

Определяет, равен ли заданный объект текущему объекту.(Наследуется от Object.)

System_CAPS_protmethodFinalize()

Позволяет объекту попытаться освободить ресурсы и выполнить другие операции по очистке перед тем, как объект будет утилизирован сборщиком мусора. (Наследуется от Object.)

System_CAPS_pubmethodSystem_CAPS_staticGetAllNetworkInterfaces()

Возвращает объекты, описывающие сетевые интерфейсы на локальном компьютере.

System_CAPS_pubmethodGetHashCode()

Служит хэш-функцией по умолчанию.(Наследуется от Object.)

System_CAPS_pubmethodGetIPProperties()

Возвращает объект, описывающий конфигурацию сетевого интерфейса.

System_CAPS_pubmethodGetIPStatistics()

Возвращает для этой статистики IP NetworkInterface экземпляра.

System_CAPS_pubmethodGetIPv4Statistics()

Возвращает статистику IPv4 для этой NetworkInterface экземпляра.

System_CAPS_pubmethodSystem_CAPS_staticGetIsNetworkAvailable()

Указывает, доступно ли сетевое подключение.

System_CAPS_pubmethodGetPhysicalAddress()

Возвращает элемент управления MAC (Media Access) или физический адрес для этого адаптера.

System_CAPS_pubmethodGetType()

Возвращает объект Type для текущего экземпляра.(Наследуется от Object.)

System_CAPS_protmethodMemberwiseClone()

Создает неполную копию текущего объекта Object.(Наследуется от Object.)

System_CAPS_pubmethodSupports(NetworkInterfaceComponent)

Возвращает Boolean значение, указывающее, поддерживает ли интерфейс заданный протокол.

System_CAPS_pubmethodToString()

Возвращает строковое представление текущего объекта.
(Наследуется от Object.)

Этот класс инкапсулирует данные сетевых интерфейсов, также называемых адаптерами на локальном компьютере. Не следует создавать экземпляры этого класса; GetAllNetworkInterfaces метод возвращает массив, содержащий один экземпляр этого класса для каждого сетевого интерфейса на локальном компьютере.

В следующем примере отображаются сведения об интерфейсах.

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();
    }

SecurityPermission

for executing unmanaged code. Associated enumeration: F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode

Универсальная платформа Windows
Доступно с 8
.NET Framework
Доступно с 2.0
Переносимая библиотека классов
Поддерживается в: переносимые платформы .NET
Silverlight
Доступно с 3.0
Windows Phone Silverlight
Доступно с 7.0
Windows Phone
Доступно с 8.1

Любые открытые статические элементы ( Предоставлен общий доступ в Visual Basic) этого типа являются потокобезопасными. Потокобезопасность элементов экземпляров не гарантируется.

Вернуться в начало
Показ: