C# 从一个类中引用另一个类中的静态变量时出错,请改为使用类型名对其进行限定

C# 从一个类中引用另一个类中的静态变量时出错,请改为使用类型名对其进行限定,c#,class,variables,reference,static,C#,Class,Variables,Reference,Static,因此,我尝试使用以下方法从classA访问classB的一个静态字符串: public class classB { classA ca = new classA(); //This is the value that i want from class B //Here it pops the following Error: string B = ca.A; } 在实际代码中,我需要classA中的

因此,我尝试使用以下方法从classA访问classB的一个静态字符串:

    public class classB
    {

        classA ca = new classA();

        //This is the value that i want from class B
        //Here it pops the following Error:
        string B = ca.A;
    }
在实际代码中,我需要classA中的变量作为静态变量,因为它在我运行内部方法后会更改值

如果classA中的字符串A被声明为公共静态错误:classA.A不能通过实例引用访问;改为使用类型名称限定它 如果classA中的字符串A声明为静态错误:classA.A由于其保护级别而不可访问


默认情况下,类classA中的此字段是私有的。您应该向其和类中添加公共关键字:

public class classA
{
   public static string A = "Hi";
}
然后,您可以使用patternClassName.PropertyName访问属性A,在您的情况下,它是:

classA.A

访问静态变量不需要对象

class classA
{
    public static string A = "Hi";
}
class classB
{
    string B = classA.A;
}

你需要学习C语言。默认访问是内部的,这意味着A对B是不可访问的。我编辑了我的问题,实际上两个类都是公共的,包括变量。更正-我相信它是内部的:默认情况下是私有的。您可以在IL代码中检查这一点。
class classA
{
    public static string A = "Hi";
}
class classB
{
    string B = classA.A;
}