我们用mono。
编写多平台程序现在我想在mac上使用一些本机代码。
我找到了NSLocal课程并希望使用:
string test = NSLocale.CurrentLocale.CountryCode;
但是当程序遇到这段代码时我遇到异常:
消息:发生类型System.ArgumentNullException的异常。 消息是:值不能为空。参数名称:obj
堆栈跟踪:
at(包装器托管到原生) System.Object的:__ icall_wrapper_mono_monitor_enter_v4_internal (object,intptr)在ObjCRuntime.Runtime.TryGetNSObject(System.IntPtr) ptr,System.Boolean evenInFinalizerQueue)[0x00009] in < 1a80b695c02b4e7dbda63e331ae0ac27>:0
其他代码如:
string[] test2 = NSLocale.ISOCountryCodes;
也会遇到异常:
消息:System.TypeInitializationException类型的异常 发生。消息是:' Foundation.NSString'的类型初始值设定项。 抛出异常。
堆栈跟踪:
在Foundation.NSArray.StringArrayFromHandle(System.IntPtr句柄) [0x00047]在< 1a80b695c02b4e7dbda63e331ae0ac27>:0 at Foundation.NSLocale.get_ISOCountryCodes()[0x00010] in < 1a80b695c02b4e7dbda63e331ae0ac27>:0
以及我做错了什么?当我调用这个本机代码时?
由于