2

我正在使用 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

4

1 回答 1

0

原来 NSApplication.Init() 没有在这条路径上被调用。

于 2012-08-13T11:40:59.017 回答