我正在做一些使用Mono/Monomac框架的原生Mac库的互操作。一般来说,它工作得很好,但现在我需要找到屏幕分辨率。Monomac已经为NSScreen定义了必要的导入。
不幸的是,屏幕上的所有属性( NSScreen、MainScreen和DeepestScreen)都返回null。我倾向于相信它们根本不起作用,但我似乎在MonoDevelop的源代码中引用了它们,所以我很可能忽略了一些东西。完整的代码示例(异常抛出):
NSScreen[] shouldNotBeNull = NSScreen.Screens;
if (shouldNotBeNull == null)
throw new Exception("That was unexpected");我也尝试过IntPtr scrRef = objc_getClass("NSScreen"),在这种情况下,scrRef最终也是空的(好吧,就是IntPtr.Zero)。是巧合还是线索?
编辑: OSX 10.7.4上的股票Mono 2.10.9
发布于 2012-08-13 19:40:59
原来在此路径上没有调用NSApplication.Init()。
https://stackoverflow.com/questions/11902386
复制相似问题