[英]I am trying to execute the following code in C# but its somehow giving me an error
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。 先謝謝您的幫助。
我正在Windows 7的Visual Studio 2010中運行它。我已下達了構建順序,以便在命名空間B之前先編譯命名空間A。
您遇到的問題是由於您需要使用非靜態變量x
訪問靜態類A
調整您的課程以:
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;
}
}
}
一切都會好起來的
您使用的是兩個不同的名稱空間。因此,當您添加對名稱空間A的引用時,它就可以解決。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.