可能与班级名称冲突物业名称?

时间:2010-05-17 15:00:39

标签: c# class naming-conventions namespaces

如果你的命名空间包含ClassA中的属性,并且在项目的其他地方有一个具有该属性名称的类,并且两者都在同一名称空间中,那么这不会引起冲突吗?

所以我想说我有一个名为Car的课程

namespace Dealer
{
   class Vehicle
   {
        // the main class that defines vehicle, so this is Dealer.Vehicle  (Vehicle.cs)
   }
}

和其他类中的属性

namespace Dealer
{
    class Dealer
    {
        public Vehicle Vehicle
        {
           get { return _vehicle; }
        }
    }
}

所以对于第二个来说,这对于财产来说真的是这个

public Dealer.Vehicle Vehicle
{
     get { return _car; }
}

所以现在你有Dealer.Vehicle和Dealer.Dealer.Vehicle。想知道这会引起冲突。

如果这两个类都在同一名称空间中并且

2 个答案:

答案 0 :(得分:4)

namespace Dealer
{
    class Dealer
    {
        ...
    }
}
  

想知道这是否会引起冲突。

是的,这会导致问题。不要将类命名为与其命名空间相同的名称。 Eric Lippert撰写了一系列关于此事的文章。

答案 1 :(得分:0)

首先,do not name the class the same as its namespace

其次,拥有与其同名的属性将正常工作,因为我经常这样做。