2017-07-18 6 views

答えて

1

時々、2つの名前空間は、同じクラスを持っています。あいまいさを避けるために、名前空間がクラスに追加されます。

例: あなたがNamespace1とNamespace2を持っており、それらの両方がように、2つのソリューションが

1はexplecitly名前空間を持つことである。この場合、クラスEmployee

using Namespace1; 
using Namespace2; 

namespace MyNamespace 
{ 
    public class MyClass 
    { 
    private Employee emp1; // does it come from Namespace1 or Namespace2 ? 
    } 
} 

を行うことができたことを想像してみて定義済み

using Namespace1; 
using Namespace2; 

namespace MyNamespace 
{ 
    public class MyClass 
    { 
    private Namespace1.Employee emp1; 
    } 
} 

もう1つは、最初から従業員fr特定の名前空間を次のように指定します。

using Namespace1; 
using Namespace2; 
using Employee = Namespace1.Employee; 

namespace MyNamespace 
{ 
    public class MyClass 
    { 
    private Employee emp1; //Notice the definition above 
    } 
} 
+0

私はOrtundがより正確であると思うので、私は2つのプロジェクト(1番目のケース)と2番目のケース(2番目のケース)が書かれているので、うまくいきます。 – raf

1

Visual Studio 2015にはこれが行われるバグがあります。

usingステートメントをコードファイルの先頭に含めるかどうかに関わらず、バグにより定義の前に名前空間が追加されます。

I asked a similar question数週間前に、別のユーザーのお勧めで、関連するgithubプロジェクトの問題を提出しました。

私の問題は、基本的には「Visual Studio 2017へのアップデートはそのバージョンで修正されたため」と言われていました。

+0

実際にVS 2013 – raf

+0

を使っています。その時でさえ? :P – Ortund

関連する問題