困惑于android xamarin中的命名空间

时间:2015-03-19 19:41:49

标签: c# android namespaces xamarin

我遇到了命名空间的问题我有一个名称空间,如MyApp.Android和MyApp.Windows,现在在Activity类中我试图定义活动的属性,如下所示

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

但是这里Android被解析为MyApp.Android而不仅仅是android,我不可能以任何其他方式更改整个应用程序的命名空间。

抱歉为了noobness

1 个答案:

答案 0 :(得分:2)

您可以尝试一些方法来处理这些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)。