C# Xamarin\C所有类的名称空间是否相同?

C# Xamarin\C所有类的名称空间是否相同?,c#,xamarin,namespaces,C#,Xamarin,Namespaces,我有一个Xamarin解决方案,里面有4个项目:PCL、Android、IOS和UWP 这是我的PCL结构: 我想知道我创建的任何类是否必须在同一命名空间上。SgatMobileV2,或在不同的命名空间中。SgatMobileV2.行为,SgatMobileV2.助手,SgatMobileV2.模型等 这两种方法有区别吗? 如果是,最好的是什么 谢谢大家! 名称空间是组织代码的一种方式。你应该能够使用任何你想要的系统。许多人喜欢在他们的代码中使用遵循文件夹层次结构的名称空间这是Visual St

我有一个Xamarin解决方案,里面有4个项目:PCL、Android、IOS和UWP

这是我的PCL结构:

我想知道我创建的任何类是否必须在同一命名空间上。SgatMobileV2,或在不同的命名空间中。SgatMobileV2.行为,SgatMobileV2.助手,SgatMobileV2.模型等

这两种方法有区别吗? 如果是,最好的是什么


谢谢大家!

名称空间是组织代码的一种方式。你应该能够使用任何你想要的系统。许多人喜欢在他们的代码中使用遵循文件夹层次结构的名称空间这是Visual Studio的默认行为,但并非严格必要。

名称空间是组织代码的一种方法。你应该能够使用任何你想要的系统。许多人喜欢在代码中使用遵循文件夹层次结构的名称空间这是Visual Studio的默认行为,但并非严格必要。

它们可以位于不同的名称空间中,但是如果您引用的类来自不同的名称空间,必须将using语句添加到引用类的顶部

使用SgatMobileV2.行为

或在使用类名时完全限定类名:

SgatMobileV2.Behaviors.MyBehavior b = new SgatMobileV2.Behaviors.MyBehavior();

它们在不同的命名空间中是可以的,但是如果您从不同的命名空间引用一个类,则必须在引用类的顶部添加一个using语句

使用SgatMobileV2.行为

或在使用类名时完全限定类名:

SgatMobileV2.Behaviors.MyBehavior b = new SgatMobileV2.Behaviors.MyBehavior();

当我遇到这样的场景时会发生什么:我需要存储客户地址和内存地址?如果我能给每个地址都打电话,那就太好了。但是,如果我把它们放在同一个名称空间中,那么它们就不会编译。我要么必须对每个类的命名感到奇怪,这不一定是件坏事,要么我可以使用名称空间。当我遇到这样的情况时会发生什么:我需要存储客户的地址以及内存地址?如果我能给每个地址都打电话,那就太好了。但是,如果我把它们放在同一个名称空间中,那么它们就不会编译。我要么必须对每个类的命名感到奇怪,这不一定是件坏事,要么我可以使用名称空间。别忘了名称空间别名!不要忘记名称空间别名!