c# – MonoTouch NSClassFromString
发布时间:2020-12-15 17:26:43 所属栏目:百科 来源:网络整理
导读:我正在尝试使用MonoTouch中的以下Objective-C代码: if(NSClassFromString(@“ADBannerView”)) C#中的等价物是什么? 基本上我想要使用iAd,但我需要检查ADBannerView和ADInterstitialAd是否存在,因为它们并非在所有版本的操作系统上都可用. (而且我宁愿做功
我正在尝试使用MonoTouch中的以下Objective-C代码:
if(NSClassFromString(@“ADBannerView”)) C#中的等价物是什么? 基本上我想要使用iAd,但我需要检查ADBannerView和ADInterstitialAd是否存在,因为它们并非在所有版本的操作系统上都可用. (而且我宁愿做功能检查而不是iOS版本检查) 我认为这在其他情况下也会有所帮助. 解决方法
最近的MonoTouch将始终提供ADBannerView,因此您无法使用C#等效的Type.GetType来查询可用性.
通常,版本检查是检查功能的最佳方法.例如. bool available = UIDevice.CurrentDevice.CheckSystemVersion (4,0); 对于任何4.0版本的iOS(4.0,当ADBannerView添加到iOS时)将返回true. 一种可能的替代方法(可能在每种情况下都不起作用)是创建一个实例并检查它的句柄.由于ObjC是基于消息的发送,init将返回null(.NET构造函数无法做到的事情).例如. bool available = (new ADBannerView ().Handle != IntPtr.Zero); 请注意,您可能最好使用处理视图或将其集成到ADBannerView的正常创建中. 更新:当然,对 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |