17

私の会社名は小文字の「i」で始まります。例:iWare(これは実際の会社名ではありませんが、目的を示しています)。

このため、名前空間の命名規則/規則のために、StyleCopとResharperと常に戦わなければならないことがわかりました。

名前空間(場合によってはクラス)にどのように名前を付けるかについて、誰かが何か考えを持っていますか?

例えば。

namespace iWare.Product.X
{
    ...
}

ご想像のとおり、上記のツールのほとんどはこれを好みません。代替案がどうあるべきかについて何か提案はありますか?私は以下を使用してエラーを抑制しようとしました:

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

ただし、これにより次のエラーが発生します。名前空間宣言に修飾子または属性を含めることはできません

何か案は?

4

2 に答える 2

5

ブレットの回答はツールの問題に対処していますが、タイトルの質問に答えるために (会社名が小文字で始まる場合、どの名前空間命名規則を使用する必要があります):

このMSDNの記事は、この他の回答からリンクされており、次のように述べています。

ブランドが従来とは異なる大文字小文字を使用している場合は、通常の名前空間の大文字小文字から逸脱していても、ブランドで定義された大文字小文字に従う必要があります。

したがって、Microsoftによると、あなたの例の正しい名前空間名は、実際にiWare.Product.Xは小文字の「i」が付いた になります。

于 2015-05-13T21:33:53.923 に答える
2

ルート名前空間としてiWareまたは会社名を使用しているようです。

私のプロジェクトでは、通常、MyProjectのプロパティウィンドウでルート名前空間を指定するか、右側のMenuItem'プロジェクト'>'プロパティ'>'アプリケーション'-'ルート名前空間'テキストボックスを使用します。

したがって、別のコンポーネント/プロジェクトからインポートとして参照している場合を除いて、コーディングでは指定しません。

于 2012-07-24T02:49:10.790 に答える