Web.config等效于<add namespace =“” MyClass“”>中的“使用静态MyClass;”

时间:2019-02-20 21:48:20

标签: razor web-config static-classes

在ASP.Net中,可以通过将以下代码添加到View文件夹的Web.config中,向所有Razor视图添加命名空间:

<system.web.webPages.razor>
    <namespaces>
        <add namespace=“MyClass” />
    </namespaces>
</system.web.webPages.razor>

这等效于将“ using MyClass;”语句放在C#文件的顶部。

但是,如何将一个命名空间作为“静态”类添加到Web.config中,在其中我可以直接在视图中访问该类的方法而不必写出“ MyClass.MyMethod();”? >

您已经可以通过在C#文件的顶部放置“ using static MyClass;”语句来完成此操作(需要C#6,请参见https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/using-static)。

1 个答案:

答案 0 :(得分:1)

它只是附加您作为命名空间放置的任何内容。只需将 static 关键字附加到命名空间即可。

所以正如你指出的 <add namespace=“MyClass” /> 等价于 using MyClass;

改为<add namespace=“static MyClass” />,相当于using static MyClass;

就你而言:

<system.web.webPages.razor>
    <namespaces>
        <add namespace=“static MyClass” />
    </namespaces>
</system.web.webPages.razor>

应该是你要找的