【问题标题】:member cannot be accessed with an instance reference; qualify it with a type name instead无法使用实例引用访问成员;改为使用类型名称来限定它
【发布时间】:2023-04-08 10:28:02
【问题描述】:

在我的程序中,我收到错误消息“无法通过实例引用访问成员 'TestUno.Form1.value';使用类型名称而不是 C:\Users\ADL65654\Documents\Visual Studio 对其进行限定”。我想访问从form1到form3的静态数组。

form3:   
            byte by1;
            by = ((Form1)this.Owner).value[0]; //Error
form1:
           public static byte[] value = new byte[10];

我该如何解决这个问题?

【问题讨论】:

  • by = Form1.value[0] - 这就是编译器所要求的
  • 你正在制作数组,但你实际上是在某个地方填充它吗?

标签: c#


【解决方案1】:

您已创建变量static。这意味着您的 Form1 类的所有实例 share 都是一个 single 数组。在this.Owner 中没有 Form1 实例的 数组。

您可以通过忽略this.Owner 中的实例并使用Form1.value[0] 来访问数组的共享实例,或者如果每个Form1 实例都应该有自己的值数组,则必须删除static 关键字。

【讨论】:

    猜你喜欢
    • 2015-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多