2012-04-20 13 views
1

このC#関数はうまく動作しますが、残念ながらmonoはMacプラットフォーム用のSystem.Net.NetworkInformation.NetworkInterfaceタイプをサポートしていません。C#Mono(MACプラットフォーム用)で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のaddreesを取得するanoher方法を使用してこの情報を読んでいますか?

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


私の仕事はわからない。私はモノの移行ユーティリティの最新バージョンのみをダウンロードしていると私は見レポートで:

のNetworkInterface [] NetworkInterface.GetAllNetworkInterfaces()のみLinuxとWindows

上で動作

私は知りませんこれが本当ならば。偽陽性だと思いますか?

+0

多分これは役に立ちますhttp://stackoverflow.com/questions/1746840/get-mac-address-in-linux-using-mono – kenny

答えて

0

あなたが参照しているMonoのバージョンは? Monoのトランクsource codeを見ると、今実装されていると確信しています。

+1

私は知らないの作品です。 NetworkInterface [] NetworkInterface.GetAllNetworkInterfaces()\t LinuxとWindowsでのみ動作します – user1320370

+0

@ user1320370:移行ユーティリティが対象ではないと思います最新のバージョンをダウンロードしてMac上で実行してみてください。 –

関連する問題