0
namespace A
{
       public enum ABC
       {
       }
       public class ClassA
       {
            static ClassA()
            {}
            public static bool f_name
            {
            }
             //All the rest of the functions are also static
       }
}

namespace B
{
       using A;
       public partial class ClassB
       {
              private bool x;
              public ClassB()
              {}
              static void Main()
              {
                      x = ClassA.f_name;
              }
       }
}

両方の名前空間が異なるファイルにあります。このコードを実行すると、ClassA.f_name が機能しません。なんとなく無視です。時計を付けると、「「ClassA」という名前は現在のコンテキストには存在しません」と表示されます。誰でも理由を教えてもらえますか? また、これを修正するにはどうすればよいですか?

「A.ClassA.f_name」を使用すると、うまくいきました。でも、「A」と書く必要はないはずです。名前空間 A が既に含まれているためです。助けてくれてありがとう。

これを Visual Studio 2010、Windows 7 で実行しています。名前空間 A が名前空間 B の前にコンパイルされるようにビルド順序を設定しました。

4

2 に答える 2

0

2 つの異なる名前空間を使用しているため、名前空間 A への参照を追加したときに解決されました。

于 2013-11-01T16:41:17.727 に答える