1

我有这个 C# 函数可以正常工作,但不幸的是 mono 不支持System.Net.NetworkInformation.NetworkInterfaceMac 平台的 Type。

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

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

还有另一种方法可以在 MAC 平台上获取带有单声道的 MAC 地址吗?

谢谢 !


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

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

我不知道这是否属实。你认为是误报吗?

4

1 回答 1

0

您指的是哪个版本的 Mono?查看 Mono 的主干源代码,我很确定它现在已经实现。

于 2012-04-21T12:26:44.170 回答