C# MonoTouch-访问Obj-C常量
很多时候,我会阅读Obj-C代码,并需要在其中一个Obj-C头文件中显示其常量的值 对于通知,我可以在MonoTouch中找到它们,例如C# MonoTouch-访问Obj-C常量,c#,objective-c,xamarin.ios,constants,C#,Objective C,Xamarin.ios,Constants,很多时候,我会阅读Obj-C代码,并需要在其中一个Obj-C头文件中显示其常量的值 对于通知,我可以在MonoTouch中找到它们,例如UIApplication.DidEnterBackgroundNotification 有没有标准的方法来获取这些值?由于一个奇怪的原因,我需要查找UINavigationControllerHideShowBarDuration。是一个CGFloat,它以单触方式映射到.NET系统。Single(float在C#中) 您应该能够使用MonoTouch.Obj
UIApplication.DidEnterBackgroundNotification
有没有标准的方法来获取这些值?由于一个奇怪的原因,我需要查找UINavigationControllerHideShowBarDuration
。是一个CGFloat
,它以单触方式映射到.NET系统。Single
(float
在C#中)
您应该能够使用MonoTouch.ObjCRuntime.Dlfcn.GetFloat
方法在运行时检索常量(它可能在不同版本之间更改,并且不应像C#const
那样嵌入)。例如
IntPtr handle = Dlfcn.dlopen (Constants.UIKitLibrary, 0);
return Dlfcn.GetFloat (handle, "UINavigationControllerHideShowBarDuration");
我试试看。
handle
是否需要在try-finally块中关闭?(a)在这种情况下,关闭不应该是问题,因为库已加载到内存中。(b) MonoTouch.Constants
是公共的-在运行时了解MonoTouch的版本也非常方便:-)