我遇到了内部访问修饰符的问题。我还看了this URL但是面对这个问题为什么以下代码不能识别BaseClass的成员?
namespace Project1
{
internal class BaseClass
{
public static int intM = 0;
}
}
namespace Project1
{
class TestAccess
{
static void Main()
{
BaseClass myBase = new BaseClass();
Console.WriteLine(myBase.intM);
}
}
}
答案 0 :(得分:6)
这不是内部的问题,但显然是静态的。您的类成员是静态的,并且您正尝试通过实例访问它。
答案 1 :(得分:2)
编译器可能抱怨“无法在非静态上下文中访问静态成员intM”。问题是intM被定义为静态,基本上意味着它属于类本身而不属于它的任何一个实例,并且它不能被访问,就像它确实属于一个实例一样。您可以按如下方式访问此成员:
Console.WriteLine(BaseClass.intM);
您甚至不需要创建BaseClass实例来执行此操作。