C#使用Mono获取MAC地址(适用于Mac平台)

时间:2012-04-20 21:37:04

标签: c# mono monodevelop

我有这个C#功能可以正常工作,但不幸的是mono不支持System.Net.NetworkInformation.NetworkInterface Mac平台类型。

System.Net.NetworkInformation.NetworkInterfaceType Type = 0;

string MacAddress = ModSupBase.EMPTY_STRING;

try
{
    System.Net.NetworkInformation.NetworkInterface[] theNetworkInterfaces = 
        System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces();

    foreach (System.Net.NetworkInformation.NetworkInterface currentInterface in theNetworkInterfaces)
    {
        Type = currentInterface.NetworkInterfaceType;

        if (Type == System.Net.NetworkInformation.NetworkInterfaceType.Ethernet 
            || Type == System.Net.NetworkInformation.NetworkInterfaceType.GigabitEthernet 
            || Type == System.Net.NetworkInformation.NetworkInterfaceType.FastEthernetFx)
        {
            MacAddress = currentInterface.GetPhysicalAddress().ToString();

            break;
        }
    }

    return MacAddress;

}
catch (System.Exception ex)
{
    ModErrorHandle.Error_Handler(ex);

    return ModSupBase.EMPTY_STRING;
}

我已使用单一迁移实用程序阅读此信息(我认为这是真的)

还有另一种方法可以在MAC平台上使用单声道MAC地址吗?

谢谢!


我不知道是否有工作。我只下载了单一迁移实用程序的最新版本,并在报告中看到:

  

NetworkInterface [] NetworkInterface.GetAllNetworkInterfaces()仅适用于Linux和Windows

我不知道这是否属实。你觉得这是假阳性吗?

1 个答案:

答案 0 :(得分:0)

您指的是哪个版本的Mono?看着Mono的主干source code我很确定它现在已经实现了。