Kev*_* VP 7 .net c# namespaces
这里有个问题.我有一个程序集被一些开发人员重用,它包含各种功能,但在技术上分为各种名称空间,代表逻辑功能块.
现在,它提供尽可能少的公共命名空间.基本上,用户不应该知道(并且当前不知道)他们尝试使用的类正在使用哪个内部结构.
假设你有这个:
NS1
NS2
基本上,用户知道他们使用FrameworkName.NS1来获取有关NS1的一般功能.现在,在这个简单的例子中,我将一个包含扩展方法的类放在子名空间扩展中,所以基本上,如果最终用户试图使用该程序集,他必须实际知道DLL的内部结构,以便知道扩展存在(这是intellisense不告诉你你知道的那些例子之一).
所以底线...现在我已经有了这个程序集和内部(VS项目)我将项目划分为逻辑文件夹,就像通常那样,但我不让命名空间跟随文件夹.这样,大会分成用户知道逻辑块W/O不必知道内部结构,并不需要知道有可能是扩展等单独的命名空间.
现在,我个人想,如果我可以让我的代码的命名空间跟随我的文件夹结构,但不知何故,在编译时这些子命名的主命名空间映射.
有可能以某种方式实现这种'重定向',你会吗?
简单地说,我希望能够在程序集外部公开地将NS1.NS11.Class111作为NS1.Class111处理,同时仍然在程序集内部保持适当的结构.
如果您需要通过不同的命名空间提供对某些内部代码的第三方访问,我会将数据访问抽象为一个单独的程序集(取决于原始程序集),或者使用 Web 服务来提供您需要的功能子集。希望他们能够访问。
您也许可以对每个类的属性进行一些操作,尽管我认为它会很快变得非常混乱。
| 归档时间: |
|
| 查看次数: |
318 次 |
| 最近记录: |