太久没有写Xamarin的代码,更新到vs for mac 正式版后发现一下代码已经出现警告。
新版本中一下代码已经提示警告:
大概就是这么个情况
Device.OS
已经过时,使用RuntimePlatform
代替。
RuntimePlatform定义为string类型,TargetPlatform并不能在提供枚举值用来判断当前运行时平台类型。
Device点智能提示已经给出了解决办法:
修改代码如下:
同样过时的还有OnPlatform
的两个重载方法:
使用switch语句代替,查看OnPlatform实现代码可以发现,就是OnPlatform内封装的代码由我们自己来实现:
Xaml中经常会用到OnPlatform类代替Device类在布局代码中对不同平台设置不同的值,典型的就是iOS中页面Padding属性的设置:
查看OnPlatform类定义,对应的Android、iOS等属性已经过时:
代替代码