[CompanyName]以小写“i”开头时的命名空间命名约定

时间:2012-07-19 11:21:07

标签: visual-studio namespaces resharper naming stylecop

我的公司名称以小写字母“i”开头。例如:iWare(这不是真正的公司名称,但它证明了目的)。

正因为如此,我发现由于名称空间命名规则/约定,我经常不得不与StyleCop和Resharper作斗争。

有没有人有任何想法我应该如何命名我的命名空间(有时候是类)。

EG。

namespace iWare.Product.X
{
    ...
}

您可以想象,上面显示的大多数工具都不喜欢这样。对于替代方案应该有什么建议吗?我尝试使用以下方法来抑制错误:

[SuppressMessage("StyleCop.CSharp.NamingRules", "SA1300:ElementMustBeginWithUpperCaseLetter", Justification = "Reviewed. Suppression is OK here.")]
namespace iWare.Product.X
{
    ...
}

但是,这会导致以下错误:名称空间声明不能包含修饰符或属性

有什么想法吗?

2 个答案:

答案 0 :(得分:5)

Brett's answer解决了工具的问题,但要回答标题中的问题(当公司名称以小写字母开头时应使用什么命名空间命名约定):

This MSDN article,与this other answer相关联,状态,

  

如果您的品牌使用非传统外壳,您应该遵循您的品牌定义的外壳,即使它偏离了正常的命名空间外壳。

因此,根据Microsoft的说法,示例中的正确命名空间名称实际上是iWare.Product.X,小写“i”。

答案 1 :(得分:2)

您似乎正在使用iWare或您的公司名称作为根命名空间。

在我的项目中,我通常在/使用MyProject的属性窗口或MenuItem' Project'中指定我的根命名空间。 > '属性' > '应用' - ' root namespace'右边的文本框。

因此,我根本没有在我的编码中指定它,除非我将其作为导入从另一个组件/项目中引用。