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

gre*_*kes 16 resharper naming namespaces stylecop visual-studio

我的公司名称以小写"i"开头.例如:iWare(这不是真正的公司名称,但它表明了目的).

因此,我发现由于命名空间命名规则/约定,我不断地与StyleCop和Resharper作斗争.

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

例如.

namespace iWare.Product.X
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

有任何想法吗?

小智 5

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

此其他答案链接的这篇MSDN文章指出,

如果您的品牌使用非传统大小写,则即使您的名称与常规名称空间大小写有所不同,也应遵循品牌定义的大小写。

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


Bre*_*ell 2

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

在我的项目中,我通常在/使用 MyProject 的属性窗口或右侧菜单项“项目”>“属性”>“应用程序”-“根命名空间”文本框指定根命名空间。

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