2012-04-20 3 views
1

이 C# 함수는 제대로 작동하지만 불행히도 모노는 System.Net.NetworkInformation.NetworkInterface 유형의 Mac 플랫폼을 지원하지 않습니다.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은 [] 만 Linux 및 Windows

에서 작동() NetworkInterface.GetAllNetworkInterfaces이

내가 할 불명 이것이 사실이라면. 거짓 긍정이라고 생각합니까?

+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에서 실행 해보십시오. –