CultureInfo.LCID 可用于 Xamarin 可移植 class 库吗?

Is CultureInfo.LCID available to Xamarin portable class libraries?

我想使用 LCIDGetCultureInfo(int) 成员 System.Globalization.CultureInfo在面向 Xamarin.Android、Xamarin.iOS 和 .NET Framework 4.5 的便携式 class 库中。

Xamarin documentation 建议这些成员应该可用。

但是,这些用法分别生成编译器错误 CS1061 和 CS0117:

CS1061: 'CultureInfo' does not contain a definition for 'LCID' [snip]
CS0117: 'CultureInfo' does not contain a definition for 'GetCultureInfo'

如何访问这两个成员?

正如 Jason 指出的那样,这些物品在 PCL 中不可用。通常,查看它是否受支持的最简单方法是以下文档:

https://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo(v=vs.100).aspx

或手动查看 pcl 配置文件程序集:

https://kb.xamarin.com/customer/en/portal/articles/1658231-how-can-i-view-what-libraries-are-supported-in-a-pcl-

(在这种情况下,您可以反编译 System.Globalization.dll 并查看 CultureInfo class)

但是,您可以通过 Xamarin.iOS / Xamarin.Android 中提供的 mscorlib 使用 LCIDGetCultureInfo(int)(monotouch.dll 和 Mono.Android.dll).您可以使用 DI 从 PCL.

完成此操作