2010-05-17 97 views
1

如果您的名称空间包含ClassA中的属性,并且您的项目中某个其他位置具有该属性名称的类,并且它们都位于相同的名称空间中,那么这不会造成冲突吗?可能与类名和属性名称冲突?

所以可以说我有一类名为汽车

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。想知道这会导致有史以来的冲突。

如果这两个类都在同一个命名空间和

回答

4
namespace Dealer 
{ 
    class Dealer 
    { 
     ... 
    } 
} 

想如果这会引起过冲突。

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

+0

+1我正要写同样的东西,并参考相同的位置。 – 2010-05-17 15:05:40

+1

我不是那个那么做的人。只是想知道。我永远不会把它命名为与其命名空间相同的类......它很愚蠢。但这是传统代码。 – PositiveGuy 2010-05-17 15:12:30