2015-04-07 27 views
0

如何在統一API中獲取設備硬件類型? Here's an example of how to do it in Classic API.。在那個例子中,「[DllImport(Constants.SystemLibrary)]」部分不能編譯。統一API似乎已經改變了?在統一API中獲取硬件類型


所以這是舊的經典代碼。在包含「ObjCRuntime」之後,我如何在Unified中執行此操作?下面

[DllImport(MonoTouch.Constants.SystemLibrary)] 
    static internal extern int sysctlbyname([MarshalAs(UnmanagedType.LPStr)] string property, IntPtr output, IntPtr oldLen, IntPtr newp, uint newlen); 

    public DeviceHardware() 
    { 
     var pStr = Marshal.AllocHGlobal(length); 
     sysctlbyname(HardwareProperty, pStr, pLen, IntPtr.Zero, 0); 

     string DeviceTypeString = Marshal.PtrToStringAnsi(pStr); 
    } 

解決方案。我有,所以你只需要在文件的頂部添加此using子句中使用「ObjCRuntime」而不是「MonoTouch的」

[DllImport(ObjCRuntime.Constants.SystemLibrary)] 

回答

1

Constants類是在ObjCRuntime命名空間,:

using ObjCRuntime; 
+0

所以經典的方法是從extern方法「sysctlbyname」獲取硬件屬性。我如何使用ObjCuntime的新方法訪問它?在此先感謝(我添加了上面的方法) – LampShade