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中运行它。我已经将构建顺序放在名称空间B之前编译名称空间A.
答案 0 :(得分:0)
您遇到的问题是由于您需要使用非静态变量A
访问静态类x
。将课程改为:
namespace A
{
public enum ABC
{
}
public class ClassA
{
static ClassA()
{ }
public static bool f_name
{
get { return true; }
}
//All the rest of the functions are also static
}
}
namespace B
{
using A;
public partial class ClassB
{
/// changed this to static to match access on class A
private static bool x;
public ClassB()
{ }
static void Main()
{
x = ClassA.f_name;
}
}
}
一切都会好的
答案 1 :(得分:0)
您正在使用两个不同的命名空间。当您添加对命名空间A的引用时,它已得到解决。