Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何向另一个项目使用的命名空间添加较短的别名?_C#_Namespaces_Alias - Fatal编程技术网

C# 如何向另一个项目使用的命名空间添加较短的别名?

C# 如何向另一个项目使用的命名空间添加较短的别名?,c#,namespaces,alias,C#,Namespaces,Alias,下午好 我在Visual Studio解决方案中有两个C#项目,它们具有以下命名空间结构(反映目录布局): 在MyApplication项目中,我希望使用MyLibrary项目的Entities命名空间中的几个类,而不必每次都指定其完全限定名: ... // using MyLibrary.App_Code.Entities; // too long and ugly using MyLibrary.Entities; // much better namespace MyApplicatio

下午好

我在Visual Studio解决方案中有两个C#项目,它们具有以下命名空间结构(反映目录布局):

在MyApplication项目中,我希望使用MyLibrary项目的Entities命名空间中的几个类,而不必每次都指定其完全限定名:

...
// using MyLibrary.App_Code.Entities; // too long and ugly
using MyLibrary.Entities; // much better

namespace MyApplication
{
    class Main
    {
        ...
    }
}

如何将
MyLibrary.Entities
定义为MyLibrary.App\u code.Entities内部的别名(从而避免每次使用组件时手动执行)

选项1:将实体类的命名空间(MyLibrary.App\u code.Entities)命名为MyLibrary.Entities

namespace MyLibrary.Entities
{
    public class Foo
    {
        ......
    }
}
选项2:使用指令

using Entities = MyLibrary.App_Code.Entities;

namespace MyApplication
{
    class Main
    {
        var foo = new Entities.Foo();
    }
}

如果您有任何问题,请告诉我。

您肯定不能。我怀疑您唯一能做的就是实际更改名称空间。像下面的一些答案那样使用别名并不能达到您想要的效果。也许会有帮助。看起来答案是你不能,我恐怕。@C.Knight-即使是在消费项目中,而不是在消费项目中,这似乎是这个问题所要问的。我认为这更接近。是的,这是一个更好的链接,因为别名只是第二个名字。但仍然给出了“不可能”的答案。
using Entities = MyLibrary.App_Code.Entities;

namespace MyApplication
{
    class Main
    {
        var foo = new Entities.Foo();
    }
}