我正在使用 Mono/Monomac 框架与本机 Mac 库进行一些互操作。一般来说,它运作良好,但现在我需要找到屏幕分辨率。Monomac 已经为 NSScreen 定义了必要的导入。
不幸的是,NSScreen 上的所有属性(Screens、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