无法从另一个类访问一个类的公共静态成员

时间:2013-12-21 05:04:05

标签: c# global-variables

我正在编写windows表单应用程序,它需要从一个Form类更改全局变量,然后从另一个Form类使用

这是全局变量的类

namespace Testi
{
    public class publicVar
    {
       public static int kitxvisN = 0;
       public static int sworipas = 0;
    }
}

这是我想要使用它的类

namespace Testi
{   
    public partial class Form1 : Form
    {
        publicVar something = new publicVar();
        something.kitxvisN++;
        .... 

但它表示无效的令牌++。 。 。 怎么会有人帮助我?

4 个答案:

答案 0 :(得分:4)

您尝试访问static成员,就好像它不是static一样。您不需要,甚至不能使用类实例来访问static成员。请改用类名:

publicVar.kitxvisN++;
  

因为没有实例变量,所以您可以访问a的成员   使用类名本身的静态类。

     

来自Static Classes and Static Class Members (C# Programming Guide)

<强>更新

其他的是,你不能直接在类级别使用这样的代码。你需要一些方法把它放进去。

public void MyMethod()
{
    publicVar.kitxvisN++;
}

答案 1 :(得分:0)

静态成员不能与对象一起使用。可以通过类名访问它们,例如publicVar.kitxvisN ++;

答案 2 :(得分:0)

只需尝试:

publicVar.kitxvisN++;

因为它是static成员,并且不需要实例来访问它。 static成员只需按类名本身访问即可。

答案 3 :(得分:0)

您不能将这些方法直接放在类声明下。它必须在方法内部。 E.g。

namespace Testi
{   
    public partial class Form1 : Form
    {

         public static void Main(string[] args) {
              publicVar.kitxvisN++;
         }