public NetInterface(int id, string name, NetInterfaceType type, NetworkInterface netIface) { NetshId = id; Name = name; Type = type; networkInterface = netIface; }
private void CreateFromNetworkAdapter(NetworkAdapter netAdapter, NetworkInterface netIface = null) { this.networkAdapter = netAdapter; this.networkInterface = null; if (netIface != null) this.networkInterface = netIface; else { IDictionary<string, NetworkInterface> ifaceDict = NetworkInterface.GetAllNetworkInterfaces().ToDictionary(i => i.Name); NetworkInterface value; if (ifaceDict.TryGetValue(networkAdapter.NetConnectionID, out value)) this.networkInterface = value; } if (this.networkInterface == null) this.type = NetInterfaceType.Unknown; else { switch (this.networkInterface.NetworkInterfaceType) { case NetworkInterfaceType.Wireless80211: this.type = NetInterfaceType.Wireless; break; case NetworkInterfaceType.Ethernet: this.type = NetInterfaceType.Wired; break; default: this.type = NetInterfaceType.Other; break; } } this.netshId = (int)networkAdapter.InterfaceIndex; ReloadAdapterConfiguration(); }