我想创建一个公共库结构。 我对每一个共同的lib我想创建单独的项目,这样做
我有以下2个命名空间:MyCompany.ERP和MyCompany.Barcode
我需要两个人都要有一个名为“工具”类是静态的。 如果我这样做,我一定要去,以访问我的静态类之前指定完整的命名空间名称。
有没有做任何其他的首选方式?
或者我应该去像BarcodeUtils和ERPUtils在课堂上不同的名字?
我想创建一个公共库结构。 我对每一个共同的lib我想创建单独的项目,这样做
我有以下2个命名空间:MyCompany.ERP和MyCompany.Barcode
我需要两个人都要有一个名为“工具”类是静态的。 如果我这样做,我一定要去,以访问我的静态类之前指定完整的命名空间名称。
有没有做任何其他的首选方式?
或者我应该去像BarcodeUtils和ERPUtils在课堂上不同的名字?
如果我这样做,我会再需要我的静态类之前指定完整的命名空间名称,以访问它?
不,是没有必要的,虽然细节取决于将使用这些类型和类using
声明它。
如果你只使用在类的命名空间中的一个 ,没有歧义,你可以继续使用类型。
如果同时使用的命名空间,你将不得不完全限定用途,或使用命名空间/类型的别名来消除歧义的类型。
using ERPUtils = MyCompany.ERP.Utilities;
using BCUtils = MyCompany.Barcode.Utilities;
public void MyMethod()
{
var a = ERPUtils.Method();
var b = BCUtils.Method();
}
没有任何其他方式。 你可以在一个别名using
指令:
using MC=MyCompany.ERP;
using MB=MyCompany.Barcode;
...
public void Test()
{
var a = MC.Utilities.Method();
var b = MB.Utilities.Method();
}
这是管理他们的最简单方法。
在MS准则有以下的说:
不要引入泛型类型的名字,如元素,节点,日志和消息。 有一个非常高的概率也将导致输入常见的场景名称冲突。
和
命名空间中的单个应用程序模型内不要给同名类型。
我同意,它可能使用一个好主意BarcodeUtilities
和ErpUtilities
代替。 (除非该实用程序类并非直接提供给客户端的代码中使用,在这种情况下,你可以为它们命名Utilities
,使他们internal
。)
“工具”是不是一类非常好听的名字,因为它实在太普通。 因此,我认为你应该两者的东西更多的信息重新命名。
您可以使用别名:
using BarcodeUtils = MyCompany.Barcode.Utilities;
在页面上,你有冲突。 但如果这是在很多地方发生的事情非常重命名。
我会建议使用不同的类名称。 如果你真的想打电话给他们两个工具,那么你可以使用别名功能上的使用指令,如
using ERP = MyCompany.ERP;
using Barcode = MyCompany.Barcode;
...
ERP.Utilities.SomeMethod();
Barcode.Utilities.SomeMethod();
你将不得不使用完整路径当两个名称相同。 否则,你会得到一个明确的引用错误。
您可以使用别名,但会为您节省一些打字:
using Project = PC.MyCompany.Project;
我会去一个不同的名称,这是有点更具描述。 一个
它实际上取决于你的类的目的。 如果你要分发您Barcode.Utilities和ERP.Utilies seperately最好是留这样的。 在另一方面,如果你打算只在同一个类中使用它们,您可以使用2.代码容易的方法。