2016-03-20 29 views
1

私は仕事をするプロジェクト(C#ベース)に割り当てられました。同じ名前空間[クラス:支払い、インターフェース:支払い]に同じ名前のクラスとインターフェースがあります。だから、私はそれが許可されていないというエラーが私には解決策をビルドします。同じ名前空間に同じ名前のクラスとインタフェースを持つことはできますか?

これらの名前の1つを名前変更すると、ソリューションの他の多くの領域に影響します。実際に私はそれがどのように働いていたのか分かりません!!

アイデア?

答えて

5

それは、同じ名前空間の下に同じ名前の2つのタイプを持っていることはできません

おかげで、(これは名前空間が便利です理由の一つです)。

良い規則は、インタフェース名の前に手紙Iを持って確認することです:IEnumerableISerializable ...

あなたが同じ名前を維持する必要がある場合は、タイプのいずれかのnamespaceを変更し、変更される可能性がありそれに応じてusing namespace宣言。

+0

名前の衝突を避けるために*名前空間が必要な場合は、名前が悪いかもしれないことに注意してください。 – Joey

+0

もちろん、同じタイプの名前を持つ理由はなく、特にクラスとインターフェイスには意味がありません。 – Ofiris

+0

名前も混同されましたが、インターフェース名をIPaymentに変更します。影響を受けるすべての領域を変更します。どうもありがとう –

関連する問題