命名空间和表共享相同的名称(哎呀!)

时间:2012-06-07 16:19:55

标签: c# namespaces conflict

首先 - 我承认错误!

但我需要知道我是否应该尝试修复它,或者只是承担后果。

我创建了一个新的解决方案(C#,VS2010) - 让我们称之为'F.PIA',以便于参考。这个解决方案所做的一件事就是使用一个SQL Server表 - 是的,你猜对了 - 也被命名为'PIA'。因此,关于我的项目的所有内容 - 包括主命名空间 - 都是F.PIA。

我正在使用F.A.PIA来访问PIA表;该程序集包括一个表和一个公共部分类PIA。

在我的解决方案中,我可以区分这两者,但我发现对F.A.PIA的引用是笨拙的(实际名称明显长于该例子)。

所以我试图重构,没有成功。我非常确定重命名会改变DataSetDesigner中的某些内容,或者不会更改某些内容(或相关项目) - 但我不够精通,无法弄清楚究竟出错了什么,也不知道如何修复它。 (是的,我在Refactor - YAY之前确实有一个工作备份。)

我应该保持原样,并从下次的错误中吸取教训吗?或者有没有办法重命名除了对我的表的引用,并让一切行为?

谢谢! - Scott M

1 个答案:

答案 0 :(得分:2)

选项:

  1. 通过using directive为C#名称空间创建名称空间别名。
  2. 创建一个处理PIA表的类包装器,并提供一种更友好的方式来访问该表。
  3. 完全定义C#名称空间的名称空间项。
  4. 重命名表格,重构,然后更改名称。
  5. 创建一个没有命名冲突的新解决方案。
  6. 和idiosyncrasis一起生活......