与 android xamarin 中的名称空间混淆

Confused with namespaces in android xamarin

我 运行 的名字有问题space 我有一个名字 space 作为 MyApp.Android 和 MyApp.Windows,现在 [=23] =] class 我正在尝试定义 activity 的属性,如下

   [Activity(ConfigurationChanges=Android.Content.PM.ConfigChanges.Orientation | Android.Content.PM.ConfigChanges.ScreenSize)]

但这里 Android 被解析为 MyApp.Android 而不仅仅是 android,我无法更改整个应用程序的名称 space解决这个问题。

对菜鸟表示抱歉

您可以尝试几种方法来处理这些 Android 命名冲突(除了 prefixing it with global:: as you already found 之外)。根据名称冲突的具体情况,有些会比其他的更好地为您服务。

您可以删除长限定条件并放置一个 using 语句以将您带到层次结构中的那一点。

using Android.Content.PM;

...

[Activity(ConfigurationChanges=ConfigChanges.Orientation | ConfigChanges.ScreenSize)]

此外,在出现此问题的某些不同情况下,您可能希望 create a "using alias" 用于您正在使用的任何类型。您仍然会缩短对 ConfigChanges.{whatever}.

的最终调用
using ConfigChanges = Android.Content.PM.ConfigChanges;

...

[Activity(ConfigurationChanges=ConfigChanges.Orientation | ConfigChanges.ScreenSize)]

后一种方法可能对您的情况没有帮助,但是当您开始使用 Android 支持库(例如,using FragmentManager = Android.Support.V4.App.FragmentManager; 时您可能已经有了 using Android.App; 有不支持的 FragmentManager).