编程语言
首页 > 编程语言> > c#-类和名称空间的引用Visual Studio 2017

c#-类和名称空间的引用Visual Studio 2017

作者:互联网

我为我的小项目注意到,在导入类时,有些会使用完整文件夹引用,而其他人则不会.
这是我正在从事的Mini项目的代码.

模型文件夹
包含两个实体,汽车和飞机

namespace Mini.Models {
     public class Auto {
         // code and stuff
     }
}

namespace Mini.Models {
     public class Airplane {
         // code and stuff
     }
}

服务文件夹包含单个服务类

namespace Mini.Services
{
   public class AutoService : IAutoService {
      public bool Get() {
            var autoObject = new Models.Auto();   // notice how it references Models folder
            var planeObject = new Airplane();  // Same folder but not referencing Models in front of it      
            // other code
      }
   }

   public interface IAutoService {
      bool Get();
      // others
   }
}

虽然不是主要的错误,但仍然令人烦恼的是,同一文件夹中的两个类被不同地引用,我不知道为什么.

任何意见,将不胜感激.

删除模型文件夹时出现错误信息

Error CS0118: 'Auto' is a namespace but is used like a type (34, 27)

解决方法:

根据您提供的错误消息:

Error CS0118: 'Auto' is a namespace but is used like a type (34, 27)

看来您有一个名为Auto的命名空间.想象下面的例子:

namespace MyApp.Auto
{
    class Test
    {
    }
}

namespace MyApp
{
    class Auto
    {
    }

    class MyTest
    {
        private Auto test;
    }
}

因为您可以从MyApp命名空间中看到一个名为Auto的类和一个名为Auto的命名空间(命名空间MyApp.Auto或简称为Autoname Auto),所以C#不确定您想要哪个.因此,这迫使您在选择一个或另一个时要具体.

最简单的解决方案是将MyApp.Auto命名空间更改为其他名称.

标签:visual-studio-2017,c
来源: https://codeday.me/bug/20191108/2006174.html