C#[using]作为数据注释

时间:2015-02-08 23:51:02

标签: c# asp.net-mvc namespaces data-annotations

我对来自不同类的两种方法之间存在模糊的引用。

这些类位于不同的名称空间中,它们共享相同的结构,如:

MyApp.Models.Folder1.Class1
MyApp.Models.Folder2.Class2

为什么我不能这样使用?

using MyApp.Models;
//and use this static method
Folder1.Class1.StaticMethod();

有没有办法只为方法使用命名空间?像:

[using(MyApp.Models.Folder1)]
public ContentResult SomeGetMethod(){
    if(Class1.StaticBooleanMethod()) return "nice baby!";
    return "that was horrible!";
}

1 个答案:

答案 0 :(得分:1)

  

为什么我不能这样使用?

MSDN documentation开始,using指令不允许您访问嵌套在您指定的命名空间中的任何命名空间。

  

有没有办法只为方法使用命名空间?像:

无法做到这一点,但您可以完全限定名称:

if (MyApp.Models.Folder1.Class1.StaticBooleanMethod()) return "nice baby!";

或使用别名:

using Folder = MyApp.Models.Folder1;
...
if(Folder.Class1.StaticBooleanMethod()) return "nice baby!";