这个C#错误是什么意思?

时间:2017-04-30 03:50:07

标签: c#

这是我输入所有代码后收到的错误:

代码:

   //show the form snack
   snack.ShowDialog();
   //define ticketCost as ticketCost on snackform
   snack.ticketCost = ticketCost;

错误: 使用实例引用无法访问成员'snackForm.ticketCost';使用类型名称来限定它

1 个答案:

答案 0 :(得分:0)

您只能使用类型名称访问静态成员。

因此,你需要写,

`MyClass.MyItem.Property1`

或者(这可能是您需要做的)通过从定义中删除Property1关键字来使static成为实例属性。

静态属性在其类的所有实例之间共享,因此它们只有一个值。现在定义它的方式,制作MyItem类的任何实例都没有意义。

静态意味着Hello中只有一个“snack”实例,而不是“Hello”类的每个单独实例中的一个实例,或者更多 - 这意味着将有一个共同的“零食”参考“Hello”类的所有实例。

所以,如果你要在你的代码中的任何地方做一个“新的Hello”:A-在第一个场景中(在更改之前,不使用“static”),它会在每次“new Hello”时创建一个新的时钟在第二个场景中调用B-但是B-(在更改之后,使用“静态”),每个“新的Hello”实例仍将共享并使用首次创建的初始和相同的“零食”参考。

除非你需要在主要之外的某个地方使用“零食”,否则这也会起作用:

package hello;
public class Hello
{
    public static void main(String args[])
    {
      Snack snack=new Snack();
      snack.ticketCost();    
    }
}