1

System.Net.NetworkInformation.NetworkInterfaceこの C# 関数は正常に動作しますが、残念ながら mono はMac プラットフォームの 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 プラットフォームで mono を使用して MAC アドレスを取得する別の方法はありますか?

ありがとうございました !


仕事ではないかどうかはわかりません。mono 移行ユーティリティの最新バージョンをダウンロードしただけで、レポートには次のように表示されます。

NetworkInterface[] NetworkInterface.GetAllNetworkInterfaces() Linux および Windows でのみ機能します

これが本当かどうかはわかりません。偽陽性だと思いますか?

4

1 に答える 1

0

どのバージョンの Mono を参照していますか? Mono のトランクのソース コードを見ると、現在実装されていると確信しています。

于 2012-04-21T12:26:44.170 に答える